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
00023
00024 #ifndef SPOT_TGBAALGOS_BFSSTEPS_HH
00025 # define SPOT_TGBAALGOS_BFSSTEPS_HH
00026
00027 #include <map>
00028 #include "tgba/state.hh"
00029 #include "emptiness.hh"
00030
00031 namespace spot
00032 {
00043 class bfs_steps
00044 {
00045 public:
00046 bfs_steps(const tgba* a);
00047 virtual ~bfs_steps();
00048
00054 const state* search(const state* start, tgba_run::steps& l);
00055
00072 virtual const state* filter(const state* s) = 0;
00073
00088 virtual bool match(tgba_run::step& step, const state* dest) = 0;
00089
00096 virtual void finalize(const std::map<const state*, tgba_run::step,
00097 state_ptr_less_than>& father,
00098 const tgba_run::step& s,
00099 const state* start,
00100 tgba_run::steps& l);
00101
00102 protected:
00103 const tgba* a_;
00104 };
00105
00106
00107 }
00108
00109 #endif // SPOT_TGBAALGOS_BFSSTEPS_HH