spot  1.1.3
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  tgta_product(const kripke* left, const tgta* right);
40 
41  virtual state*
42  get_init_state() const;
43 
44  virtual tgba_succ_iterator*
45  succ_iter(const state* local_state, const state* global_state = 0,
46  const tgba* global_automaton = 0) const;
47  };
48 
51  {
52  public:
54  const tgta* tgta, fixed_size_pool* pool);
55 
56  virtual
58 
59  // iteration
60  void
61  first();
62  void
63  next();
64  bool
65  done() const;
66 
67  // inspection
69  current_state() const;
70  bdd
71  current_condition() const;
72 
73  bdd
75 
76  private:
78  void
80  step_();
81  void
83 
84  void
86 
88 
89  protected:
91  const tgta* tgta_;
92  const kripke* kripke_;
101  };
102 
103 }
104 
105 #endif // SPOT_TA_TGTAPRODUCT_HH

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Tue Jul 9 2013 14:04:33 for spot by doxygen 1.8.4