spot  0.9.2
explicit.hh
Go to the documentation of this file.
1 // Copyright (C) 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 2 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 Spot; see the file COPYING. If not, write to the Free
19 // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 // 02111-1307, USA.
21 
22 #ifndef SPOT_EVTGBA_EXPLICIT_HH
23 # define SPOT_EVTGBA_EXPLICIT_HH
24 
25 #include "evtgba.hh"
26 #include <list>
27 #include "misc/hash.hh"
28 
29 namespace spot
30 {
31  // FIXME: doc me
32  class evtgba_explicit: public evtgba
33  {
34  public:
35  struct transition;
36  typedef std::list<transition*> transition_list;
37  struct state
38  {
40  };
41 
43  struct transition
44  {
45  const symbol* label;
49  };
50 
52  virtual ~evtgba_explicit();
53 
54  // evtgba interface
55  virtual evtgba_iterator* init_iter() const;
56  virtual evtgba_iterator* succ_iter(const spot::state* s) const;
57  virtual evtgba_iterator* pred_iter(const spot::state* s) const;
58  virtual std::string format_state(const spot::state* state) const;
59  virtual const symbol_set& all_acceptance_conditions() const;
60  virtual const symbol_set& alphabet() const;
61 
62  transition* add_transition(const std::string& source,
63  const rsymbol& label,
64  rsymbol_set acc,
65  const std::string& dest);
69  void set_init_state(const std::string& name);
70  void declare_acceptance_condition(const rsymbol& acc);
71  protected:
72 
73  state* declare_state(const std::string& name);
74 
75  typedef Sgi::hash_map<const std::string, evtgba_explicit::state*,
77  typedef Sgi::hash_map<const evtgba_explicit::state*, std::string,
79 
82 
86  };
87 
90  {
91  public:
93  : state_(s)
94  {
95  }
96 
97  virtual int compare(const spot::state* other) const;
98  virtual size_t hash() const;
99  virtual state_evtgba_explicit* clone() const;
100 
102  {
103  }
104 
105  const evtgba_explicit::state* get_state() const;
106  private:
108  };
109 
110 }
111 
112 #endif // SPOT_EVTGBA_EXPLICIT_HH

Please comment this page and report errors about it on the RefDocComments page.
Generated on Mon Jul 2 2012 17:35:47 for spot by doxygen 1.8.1.1