domain_transition_graph_symb.h
Go to the documentation of this file.
00001 #ifndef DOMAIN_TRANSITION_GRAPH_SYMB_H
00002 #define DOMAIN_TRANSITION_GRAPH_SYMB_H
00003 
00004 #include <vector>
00005 #include "domain_transition_graph.h"
00006 #include "helper_functions.h"
00007 #include "operator.h"
00008 using namespace std;
00009 
00010 class Axiom_relational;
00011 class Variable;
00012 
00013 class DomainTransitionGraphSymb: public DomainTransitionGraph
00014 {
00015     private:
00016         struct Transition {
00017             Transition(int theTarget, int theOp, trans_type theType) :
00018                 target(theTarget), op(theOp), type(theType) {
00019                 }
00020             bool operator==(const Transition &other) const {
00021                 return target == other.target && op == other.op
00022                     && condition == other.condition && type == other.type;
00023             }
00024             bool operator<(const Transition &other) const;
00025             int target;
00026             int op;
00027             SetEdgeCondition set_condition;
00028             EdgeCondition condition;
00029             trans_type type;
00030             DurationCond duration;
00031             void dump();
00032         };
00033         typedef vector<Transition> Vertex;
00034         vector<Vertex> vertices;
00035         int level;
00036 
00037     public:
00038         DomainTransitionGraphSymb(const Variable &var);
00039         void addTransition(int from, int to, const Operator &op, int op_index,
00040                 trans_type type, vector<Variable *> variables);
00041         void addAxRelTransition(int from, int to, const Axiom_relational &ax,
00042                 int ax_index);
00043         void finalize();
00044         void dump() const;
00045         void generate_cpp_input(ostream &outfile) const;
00046         bool is_strongly_connected() const;
00047 };
00048 
00049 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


tfd_modules
Author(s): Maintained by Christian Dornhege (see AUTHORS file).
autogenerated on Tue Jan 22 2013 12:25:03