00001
00004 #ifndef DIVINE_BYMOC_PROCESS_HH
00005 #define DIVINE_BYMOC_PROCESS_HH
00006
00007 #ifndef DOXYGEN_PROCESSING
00008 #include <iostream>
00009 #include <string>
00010 #include <sstream>
00011 #include "system/process.hh"
00012 #include "common/error.hh"
00013 #include "common/array.hh"
00014 #include "system/bymoc/bymoc_transition.hh"
00015 #include "common/deb.hh"
00016
00017 namespace divine {
00018 using std::cerr; using std::endl;
00019 #endif //DOXYGEN_PROCESSING
00020
00021 class bymoc_transition_t;
00022 class bymoc_expression_t;
00023
00025
00028 class bymoc_process_t: public process_t
00029 {
00030 public:
00032 bymoc_process_t();
00033 bymoc_process_t(system_t * const system);
00035 virtual ~bymoc_process_t();
00037 virtual transition_t * get_transition(const size_int_t id);
00039 virtual const transition_t * get_transition(const size_int_t id) const;
00041 virtual size_int_t get_trans_count() const;
00042 virtual void add_transition(transition_t * const transition);
00044 virtual void remove_transition(const size_int_t transition_gid);
00046 virtual std::string to_string() const;
00048 virtual int from_string(std::string & proc_str);
00050 virtual void write(std::ostream & ostr) const;
00052 virtual int read(std::istream & istr);
00053 };
00054
00055
00056 #ifndef DOXYGEN_PROCESSING
00057 }
00058 #include "common/undeb.hh"
00059
00060 #endif //DOXYGEN_PROCESSING
00061
00062 #endif
00063
00064
00065