spot  1.2.1a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fasttgba.hh
1 // Copyright (C) 2012 Laboratoire de Recherche et Développement
2 // de l'Epita (LRDE).
3 //
4 // This file is part of Spot, a model checking library.
5 //
6 // Spot is free software; you can redistribute it and/or modify it
7 // under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // Spot is distributed in the hope that it will be useful, but WITHOUT
12 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
14 // License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 #ifndef SPOT_FASTTGBA_FASTTGBA_HH
20 # define SPOT_FASTTGBA_FASTTGBA_HH
21 
22 #include <string>
23 #include "fasttgba_state.hh"
24 #include "fasttgba_succ_iterator.hh"
25 #include "markset.hh"
26 #include "ap_dict.hh"
27 #include "acc_dict.hh"
28 
29 namespace spot
30 {
33  class SPOT_API fasttgba
34  {
35  protected:
36  fasttgba();
37 
38  public:
39  virtual ~fasttgba();
40 
46  virtual
47  fasttgba_state* get_init_state() const = 0;
48 
56  virtual fasttgba_succ_iterator*
57  succ_iter(const fasttgba_state* state) const = 0;
58 
63  virtual fasttgba_succ_iterator*
64  swarm_succ_iter(const fasttgba_state* state) const = 0;
65 
67  virtual
68  ap_dict& get_dict() const = 0;
69 
71  virtual
72  acc_dict& get_acc() const = 0;
73 
78  virtual std::string format_state(const fasttgba_state* state) const = 0;
79 
82  virtual std::string
83  transition_annotation(const fasttgba_succ_iterator* t) const = 0;
84 
86  virtual
87  fasttgba_state* project_state(const fasttgba_state* s,
88  const fasttgba* t) const = 0;
89 
98  virtual
99  markset all_acceptance_marks() const = 0;
100 
102  virtual
103  unsigned int number_of_acceptance_marks() const = 0;
104 
105  protected:
106  mutable int num_acc_;
107  mutable int num_var_;
108  };
109 }
110 
111 #endif // SPOT_FASTTGBA_FASTTGBA_HH
Definition: fasttgba.hh:33
This class act as an interface for all classes.
Definition: fasttgba_state.hh:30
Abstract class for states.
Definition: state.hh:40
int num_var_
The number of variables.
Definition: fasttgba.hh:107
This class is used to create a dictionary that will contain all atomic propositions that are needed b...
Definition: ap_dict.hh:41
Iterate over the successors of a state.
Definition: fasttgba_succ_iterator.hh:35
This class represents a set of acceptance marks.
Definition: markset.hh:35
Definition: acc_dict.hh:31
int num_acc_
The number of acceptance mark.
Definition: fasttgba.hh:106

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Tue Jan 21 2014 16:52:01 for spot by doxygen 1.8.5