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 {
00033 template <typename Graph, typename I>
00034 class DeltaConstIterator
00035 {
00036 public:
00038 typedef Graph graph_type;
00040 typedef I iterator_type;
00042 typedef std::pair<I, I> range_type;
00043 typedef DeltaConstIterator<Graph, I> self_t;
00044
00050 DeltaConstIterator(const graph_type& g, typename graph_type::hstate_t s);
00051 ~DeltaConstIterator();
00052
00056 void next();
00061 bool done() const;
00062
00066 typename graph_type::htransition_t operator*() const;
00067
00068 private:
00069 const graph_type& graph_;
00070 iterator_type i_;
00071 iterator_type end_;
00072
00073 };
00074
00075 }
00076
00077 }
00078
00079 # if !defined VCSN_USE_INTERFACE_ONLY
00080 # include <vaucanson/automata/implementation/bmig/iterator.hxx>
00081 # endif // ! VCSN_USE_INTERFACE_ONLY
00082
00083 #endif // ! VAUCANSON_AUTOMATA_IMPLEMENTATION_BMIG_ITERATOR_HH