spot  1.0
reachiter.hh
Go to the documentation of this file.
1 // Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
2 // département Systèmes Répartis Coopératifs (SRC), Université Pierre
3 // et Marie Curie.
4 //
5 // This file is part of Spot, a model checking library.
6 //
7 // Spot is free software; you can redistribute it and/or modify it
8 // under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // Spot is distributed in the hope that it will be useful, but WITHOUT
13 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 // License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 
20 #ifndef SPOT_EVTGBAALGOS_REACHITER_HH
21 # define SPOT_EVTGBAALGOS_REACHITER_HH
22 
23 #include "misc/hash.hh"
24 #include "evtgba/evtgba.hh"
25 #include <stack>
26 #include <deque>
27 
28 namespace spot
29 {
32  {
33  public:
36 
42  void run();
43 
51  virtual void add_state(const state* s) = 0;
53  virtual const state* next_state() = 0;
55 
59  virtual void start(int n);
61  virtual void end();
62 
68  virtual void process_state(const state* s, int n, evtgba_iterator* si);
75  virtual void process_link(int in, int out, const evtgba_iterator* si);
76 
77  protected:
78  const evtgba* automata_;
79 
80  typedef Sgi::hash_map<const state*, int,
83  };
84 
89  {
90  public:
92 
93  virtual void add_state(const state* s);
94  virtual const state* next_state();
95 
96  protected:
97  std::stack<const state*> todo;
98  };
99 
104  {
105  public:
107 
108  virtual void add_state(const state* s);
109  virtual const state* next_state();
110 
111  protected:
112  std::deque<const state*> todo;
113  };
114 
115 
116 }
117 
118 
119 #endif // SPOT_EVTGBAALGOS_REACHITER_HH

Please comment this page and report errors about it on the RefDocComments page.
Generated on Sat Oct 27 2012 09:34:32 for spot by doxygen 1.8.1.2