16 #ifndef GEOS_PLANARGRAPH_SUBGRAPH_H
17 #define GEOS_PLANARGRAPH_SUBGRAPH_H
19 #include <geos/export.h>
20 #include <geos/planargraph/NodeMap.h>
26 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
31 namespace planargraph {
39 namespace planargraph {
53 class GEOS_DLL Subgraph {
60 Subgraph(PlanarGraph& parent)
91 std::pair<std::set<Edge*>::iterator,
bool> add(
Edge* e);
101 std::vector<const DirectedEdge*>::iterator
104 return dirEdges.begin();
116 std::set<Edge*>::iterator
119 return edges.begin();
121 std::set<Edge*>::iterator
131 NodeMap::container::iterator
134 return nodeMap.begin();
136 NodeMap::container::const_iterator
139 return nodeMap.end();
141 NodeMap::container::iterator
144 return nodeMap.end();
146 NodeMap::container::const_iterator
149 return nodeMap.begin();
161 return (edges.find(e) != edges.end());
167 std::set<Edge*> edges;
168 std::vector<const DirectedEdge*> dirEdges;
183 #endif // GEOS_PLANARGRAPH_SUBGRAPH_H