Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

pnsucciter.hh

Go to the documentation of this file.
00001 // Copyright (C) 2004  Laboratoire d'Informatique de Paris 6 (LIP6),
00002 // département Systèmes Répartis Coopératifs (SRC), Université Pierre
00003 // et Marie Curie.
00004 //
00005 // This file is part of the Spot tutorial. Spot is a model checking 
00006 // library.
00007 //
00008 // Spot is free software; you can redistribute it and/or modify it
00009 // under the terms of the GNU General Public License as published by
00010 // the Free Software Foundation; either version 2 of the License, or
00011 // (at your option) any later version.
00012 //
00013 // Spot is distributed in the hope that it will be useful, but WITHOUT
00014 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00015 // or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
00016 // License for more details.
00017 //
00018 // You should have received a copy of the GNU General Public License
00019 // along with Spot; see the file COPYING.  If not, write to the Free
00020 // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00021 // 02111-1307, USA.
00022 
00023 #ifndef PN_SUCC_ITERATOR_HH
00024 #define PN_SUCC_ITERATOR_HH
00025 
00026 #include <string>
00027 #include <list>
00028 
00029 #include "tgba/succiter.hh"
00030 #include "petrinet.hh"
00031 #include "marking.hh"
00032 #include "bdd.h"
00033 #include "tgba/state.hh"
00034 
00036 class pn_succ_iterator : public spot::tgba_succ_iterator {
00037 public:
00049   pn_succ_iterator(const petri_net& n, const marking* m, const bdd& cond);
00050 
00056   virtual ~pn_succ_iterator();
00057 
00063   void first();
00064 
00070   void next();
00071 
00077   bool done() const;
00078 
00088   spot::state* current_state() const;
00089 
00097   bdd current_condition() const;
00098 
00102   bdd current_acceptance_conditions() const;
00103 
00110   std::string format_transition() const;
00111 
00112 private:
00114   pn_succ_iterator(const pn_succ_iterator& s);
00116   pn_succ_iterator& operator=(const pn_succ_iterator& s);
00117   
00119   const petri_net& net;
00120   
00122   const marking* mark;
00123   
00125   std::list<int>* fir;
00126   
00128   std::list<int>::const_iterator it;
00129   
00131   bdd condition;
00132 };
00133 
00134 #endif

Please comment this page and report errors about it on the RefDocComments page.
Generated on Mon Jan 31 15:17:13 2005 for checkpn by doxygen 1.4.0