spot  1.0
tgtaproduct.hh
Go to the documentation of this file.
1 // -*- coding: utf-8 -*-
2 // Copyright (C) 2011, 2012 Laboratoire de Recherche et Développement
3 // de l'Epita (LRDE).
4 // Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris
5 // 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
6 // Université Pierre et Marie Curie.
7 //
8 // This file is part of Spot, a model checking library.
9 //
10 // Spot is free software; you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation; either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Spot is distributed in the hope that it will be useful, but WITHOUT
16 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18 // License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with this program. If not, see <http://www.gnu.org/licenses/>.
22 
23 #ifndef SPOT_TA_TGTAPRODUCT_HH
24 # define SPOT_TA_TGTAPRODUCT_HH
25 
26 #include "tgba/tgba.hh"
27 #include "tgba/tgbaproduct.hh"
28 #include "misc/fixpool.hh"
29 #include "kripke/kripke.hh"
30 #include "tgta.hh"
31 
32 namespace spot
33 {
34 
36  class tgta_product : public tgba_product
37  {
38  public:
39 
40  tgta_product(const kripke* left, const tgta* right);
41 
42  virtual state*
43  get_init_state() const;
44 
45  virtual tgba_succ_iterator*
46  succ_iter(const state* local_state, const state* global_state = 0,
47  const tgba* global_automaton = 0) const;
48 
49 
50  };
51 
54  {
55  public:
57  const tgta* tgta, fixed_size_pool* pool);
58 
59  virtual
61 
62  // iteration
63  void
64  first();
65  void
66  next();
67  bool
68  done() const;
69 
70  // inspection
72  current_state() const;
73  bdd
74  current_condition() const;
75 
76  bdd
78 
79  private:
81 
82  void
83  step_();
84  void
86 
87  void
89 
91 
92  protected:
94  const tgta* tgta_;
95  const kripke* kripke_;
104 
105 
106  };
107 
108 }
109 
110 #endif // SPOT_TA_TGTAPRODUCT_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