StateFunctor.hpp

Go to the documentation of this file.
00001 #ifndef WALI_NWA_STATEFUNCTOR_HPP
00002 #define WALI_NWA_STATEFUNCTOR_HPP
00003 
00004 #include <vector>
00005 
00006 #include "opennwa/NwaFwd.hpp"
00007 
00008 namespace opennwa {
00009     namespace traverse {
00010 
00011       class ConstStateFunctor
00012       {
00013       public:
00014         virtual ~ConstStateFunctor() {}
00015 
00016         virtual void operator() (Nwa const & nwa, State state) = 0;
00017       };
00018 
00019       
00020       class ConstCallStringStateFunctor
00021       {
00022       public:
00023         ///
00024         /// Index [0] is the bottom item on the stack. For main, the call
00025         /// stack will have one item in it with an unspecified value
00026         typedef std::vector<State> CallString;
00027         
00028         virtual ~ConstCallStringStateFunctor() {}
00029 
00030         virtual void operator() (Nwa const & nwa, CallString const & cs, State state) = 0;
00031       };
00032       
00033   }
00034 }
00035 
00036 
00037 
00038 // Yo, Emacs!
00039 // Local Variables:
00040 //   c-file-style: "ellemtel"
00041 //   c-basic-offset: 2
00042 // End:
00043 
00044 #endif