domain_transition_graph_func.h
Go to the documentation of this file.
00001 #ifndef DOMAIN_TRANSITION_GRAPH_FUNC_H
00002 #define DOMAIN_TRANSITION_GRAPH_FUNC_H
00003 
00004 #include <vector>
00005 #include "domain_transition_graph.h"
00006 using namespace std;
00007 
00008 class Axiom_relational;
00009 class Variable;
00010 
00011 class DomainTransitionGraphFunc: public DomainTransitionGraph
00012 {
00013     private:
00014         struct Transition {
00015             Transition(trans_type theType, int theOp) :
00016                 type(theType), op(theOp) {
00017                 }
00018             SetEdgeCondition set_condition;
00019             EdgeCondition condition;
00020             trans_type type;
00021             foperator fop;
00022             DurationCond duration;
00023             Variable *right_var;
00024             int op;
00025         };
00026         int level;
00027         vector<Transition> transitions;
00028 
00029     public:
00030         DomainTransitionGraphFunc(const Variable &var);
00031         void addTransition(int foperator, int right_var, const Operator &op,
00032                 int op_index, trans_type type, vector<Variable *> variables);
00033         void addAxRelTransition(int from, int to, const Axiom_relational &ax,
00034                 int ax_index);
00035         void finalize();
00036         void dump() const;
00037         void generate_cpp_input(ostream &outfile) const;
00038         bool is_strongly_connected() const;
00039 };
00040 
00041 #endif


tfd_modules
Author(s): Maintained by Christian Dornhege (see AUTHORS file).
autogenerated on Mon Oct 6 2014 07:52:06