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