bfssteps.hh
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SPOT_TGBAALGOS_BFSSTEPS_HH
00023 # define SPOT_TGBAALGOS_BFSSTEPS_HH
00024
00025 #include <map>
00026 #include "tgba/state.hh"
00027 #include "emptiness.hh"
00028
00029 namespace spot
00030 {
00041 class bfs_steps
00042 {
00043 public:
00044 bfs_steps(const tgba* a);
00045 virtual ~bfs_steps();
00046
00052 const state* search(const state* start, tgba_run::steps& l);
00053
00070 virtual const state* filter(const state* s) = 0;
00071
00086 virtual bool match(tgba_run::step& step, const state* dest) = 0;
00087
00094 virtual void finalize(const std::map<const state*, tgba_run::step,
00095 state_ptr_less_than>& father,
00096 const tgba_run::step& s,
00097 const state* start,
00098 tgba_run::steps& l);
00099
00100 protected:
00101 const tgba* a_;
00102 };
00103
00104
00105 }
00106
00107 #endif // SPOT_TGBAALGOS_BFSSTEPS_HH