Go to the documentation of this file.00001 #ifndef CAUSAL_GRAPH_H
00002 #define CAUSAL_GRAPH_H
00003
00004 #include <iosfwd>
00005 #include <vector>
00006 #include <set>
00007 #include <map>
00008 using namespace std;
00009
00010 class CausalGraph
00011 {
00012 vector<vector<int> > arcs;
00013 vector<vector<int> > edges;
00014 public:
00015 CausalGraph(istream &in);
00016 ~CausalGraph()
00017 {
00018 }
00019 const vector<int> &get_successors(int var) const;
00020 const vector<int> &get_neighbours(int var) const;
00021 void get_comp_vars_for_func_var(int var, vector<int>& comp_vars);
00022 void get_functional_vars_in_unrolled_term(int top_var, set<int>& intermediate_vars);
00023 void dump() const;
00024 };
00025
00026 #endif