15 typename Sawyer::Container::Graph<NodeInfo,EdgeInfo>::ConstVertexIterator,
16 typename Sawyer::Container::Graph<NodeInfo,EdgeInfo>::ConstEdgeIterator, NodeInfo, EdgeInfo> {
21 typedef typename boost::iterator_range<EdgeIterator> EdgeCollectionType;
22 typedef typename boost::iterator_range<NodeIterator> NodeCollectionType;
26 using typename FlowGraphInterfaceType::NodePredicate;
27 using typename FlowGraphInterfaceType::EdgePredicate;
29 virtual NodeCollectionType getNodes(NodePredicate = noFilter<NodeIterator>() )
const override
31 virtual EdgeCollectionType getEdges(EdgePredicate = noFilter<EdgeIterator>())
const override
34 virtual const NodeInfo& dereferenceNode(
const NodeIterator& p)
const {
return (*p).value(); }
35 virtual const EdgeInfo& dereferenceEdge(
const EdgeIterator& p)
const {
return (*p).value(); }
38 {
return (*p).source(); }
40 {
return (*p).target(); }
42 virtual EdgeCollectionType getEdgesFrom(
const NodeIterator& p, EdgePredicate = noFilter<EdgeIterator>())
const override {
43 return (*p).outEdges(); }
44 virtual EdgeCollectionType getEdgesTo(
const NodeIterator& p, EdgePredicate = noFilter<EdgeIterator>())
const override {
45 return (*p).inEdges(); }
47 virtual NodeIterator addNode(
const NodeInfo& node)
override
50 const EdgeInfo& t)
override