spot  1.2.1a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ec.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_FASTTGBAALGOS_EC_EC_HH
20 # define SPOT_FASTTGBAALGOS_EC_EC_HH
21 
22 #include "fasttgba/fasttgba.hh"
23 
24 namespace spot
25 {
28  class ec
29  {
30  public:
31 
33  virtual bool check() = 0;
34 
35  virtual ~ec() {}
36  };
37 
38 
41  {
42  public :
45  // automaton just this class to destroy this automaton
46  virtual const spot::fasttgba* get_automaton() const = 0;
47 
50  // automaton just this class to destroy this automaton
51  virtual const spot::fasttgba* get_ba_automaton() const = 0;
52 
53  virtual ~instance_automaton()
54  {
55  }
56  };
57 
65  {
66  public:
68  virtual const instance_automaton* new_instance () = 0;
69 
70  virtual ~instanciator()
71  {
72  }
73  };
74 
75 
76 
78  {
79  public:
80  simple_instance(const spot::simple_instance&) = delete;
81 
83  ftgba_(tgba)
84  {
85  }
86 
87  virtual ~simple_instance()
88  {
89  }
90 
91  const spot::fasttgba* get_automaton () const
92  {
93  return ftgba_;
94  }
95 
97  {
98  // Not Yet Supported
99  assert(false);
100  return 0;
101  }
102 
103  private:
104  const spot::fasttgba* ftgba_;
105  };
106 
107 
108 
109 
111  {
112  private:
113  const spot::fasttgba* tgba_;
114 
115  public:
117  tgba_(tgba)
118  {
119  }
120 
122  {
123  return new simple_instance(tgba_);
124  }
125  };
126 
127 
128 }
129 
130 #endif // SPOT_FASTTGBAALGOS_EC_EC_HH
Definition: fasttgba.hh:33
const spot::fasttgba * get_automaton() const
return the automaton. Warning ! You don&#39;t have to delete the
Definition: ec.hh:91
Definition: ec.hh:64
A simple wrapper for an automaton.
Definition: ec.hh:40
Definition: ec.hh:77
virtual const spot::fasttgba * get_automaton() const =0
return the automaton. Warning ! You don&#39;t have to delete the
Definition: ec.hh:110
virtual const spot::fasttgba * get_ba_automaton() const =0
return the automaton as a B\¨uchi Automaton. Warning ! You don&#39;t have to delete the ...
A Transition-based Generalized Büchi Automaton.
Definition: tgba.hh:67
virtual bool check()=0
Launch the emptiness check.
virtual const instance_automaton * new_instance()=0
return a new instance of the automaton
const spot::fasttgba * get_ba_automaton() const
return the automaton as a B\¨uchi Automaton. Warning ! You don&#39;t have to delete the ...
Definition: ec.hh:96
const instance_automaton * new_instance()
return a new instance of the automaton
Definition: ec.hh:121
Definition: ec.hh:28

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