00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VAUCANSON_AUTOMATA_IMPLEMENTATION_BMIG_ITERATOR_HH
00018 # define VAUCANSON_AUTOMATA_IMPLEMENTATION_BMIG_ITERATOR_HH
00019
00020 # include <map>
00021
00022 namespace vcsn
00023 {
00024 namespace bmig
00025 {
00034 template <typename Graph, typename Handler, typename I>
00035 class DeltaConstIterator
00036 {
00037 public:
00039 typedef Graph graph_type;
00041 typedef Handler data_type;
00043 typedef I iterator_type;
00045 typedef std::pair<I, I> range_type;
00046 typedef DeltaConstIterator<Graph, Handler, I> self_t;
00047
00053 DeltaConstIterator(const graph_type& g, typename graph_type::hstate_t s);
00054 ~DeltaConstIterator();
00055
00059 void next();
00064 bool done() const;
00065
00069 data_type operator*() const;
00070
00071 private:
00072 const graph_type& graph_;
00073 iterator_type i_;
00074 iterator_type end_;
00075
00076 };
00077
00078 }
00079
00080 }
00081
00082 # if !defined VCSN_USE_INTERFACE_ONLY
00083 # include <vaucanson/automata/implementation/bmig/iterator.hxx>
00084 # endif // ! VCSN_USE_INTERFACE_ONLY
00085
00086 #endif // ! VAUCANSON_AUTOMATA_IMPLEMENTATION_BMIG_ITERATOR_HH