00001 #include <scil/scil.h>
00002 #include <boost/graph/graph_traits.hpp>
00003 #include <boost/graph/adjacency_matrix.hpp>
00004 #include <boost/graph/adjacency_list.hpp>
00005 #include <boost/graph/graph_concepts.hpp>
00006
00007 using namespace boost;
00008
00009 #ifndef FLOW_H
00010 #define FLOW_H
00011
00012 namespace SCIL {
00013
00028 template <typename Graph>
00029 class FLOW : public sym_constraint {
00030 private:
00031 typedef graph_traits<Graph> GraphTraits;
00032 typedef typename GraphTraits::vertex_descriptor vertex_descriptor;
00033 typedef typename GraphTraits::edge_descriptor edge_descriptor;
00034 Graph& G;
00035 scil_map<vertex_descriptor>& D;
00036 scil_map<edge_descriptor>& VM;
00037
00038 class flow_balance;
00039
00040 public:
00041
00051 FLOW(Graph&, scil_map<vertex_descriptor>&, scil_map<edge_descriptor>&);
00052
00055 void init(subproblem& S);
00056
00059 void info();
00060
00061 };
00062
00063 #include "../../../src/constraints/flow.cc"
00064
00065 };
00066
00067 #endif