17 #ifndef VCSN_MISC_SPARSE_INTERVAL_HH
18 # define VCSN_MISC_SPARSE_INTERVAL_HH
38 template <
class Integer,
class ExcludedContainer>
42 typedef Integer integer_t;
43 typedef ExcludedContainer excluded_container_t;
51 integer_t operator* ();
57 const excluded_container_t* excluded_;
69 template <
class Integer,
class ExcludedContainer>
70 struct iterator_traits<vcsn::misc::SparseIterator
71 <Integer, ExcludedContainer> >
73 typedef input_iterator_tag iterator_category;
74 typedef Integer value_type;
75 typedef int difference_type;
77 typedef int& reference;
97 template <
class Integer,
class ExcludedContainer>
101 typedef Integer integer_t;
102 typedef ExcludedContainer excluded_container_t;
106 SparseInterval (integer_t, integer_t,
const excluded_container_t&);
111 unsigned size ()
const;
112 integer_t max ()
const;
113 std::string to_string ()
const;
116 const excluded_container_t& excluded_;
128 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
129 # include <vaucanson/misc/sparse_interval.hxx>
130 # endif // VCSN_USE_INTERFACE_ONLY
133 #endif // ! VCSN_MISC_SPARSE_INTERVAL_HH