23#include <geos/export.h> 
   29#include <geos/geom/Coordinate.h>  
   30#include <geos/geomgraph/Node.h>  
   35#pragma warning(disable: 4251)  
   50class GEOS_DLL NodeMap final {
 
   53    typedef std::map<geom::Coordinate*, std::unique_ptr<Node>, geom::CoordinateLessThan> container;
 
   55    typedef container::iterator iterator;
 
   57    typedef container::const_iterator const_iterator;
 
   61    const NodeFactory& nodeFact;
 
   66    NodeMap(
const NodeFactory& newNodeFact);
 
   68    Node* addNode(
const geom::Coordinate& coord);
 
   70    Node* addNode(Node* n);
 
   81    void add(std::unique_ptr<EdgeEnd>&& e);
 
   83    Node* find(
const geom::Coordinate& coord) 
const;
 
   88        return nodeMap.begin();
 
  100        return nodeMap.begin();
 
  106        return nodeMap.end();
 
  109    void getBoundaryNodes(uint8_t geomIndex,
 
  110                          std::vector<Node*>& bdyNodes) 
const;
 
  112    std::string print() 
const;
 
  119        for(
const auto& nodeIt: nodeMap) {
 
  120            const auto* n = nodeIt.second.get();
 
  121            geom::Coordinate* c = 
const_cast<geom::Coordinate*
>(
 
  122                                      &(n->getCoordinate())
 
  124            assert(nodeIt.first == c);
 
  133    NodeMap(
const NodeMap& other) = 
delete;
 
  134    NodeMap& operator=(
const NodeMap& rhs) = 
delete;
 
Basic namespace for all GEOS functionalities.
Definition geos.h:38