Libosmium  2.6.0
Fast and flexible C++ library for working with OpenStreetMap data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs > Class Template Reference

#include <node_locations_for_ways.hpp>

Inheritance diagram for osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >:
Inheritance graph
[legend]
Collaboration diagram for osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >:
Collaboration graph
[legend]

Public Types

typedef TStoragePosIDs index_pos_type
 
typedef TStorageNegIDs index_neg_type
 

Public Member Functions

 NodeLocationsForWays (TStoragePosIDs &storage_pos, TStorageNegIDs &storage_neg=get_dummy())
 
 NodeLocationsForWays (const NodeLocationsForWays &)=delete
 
NodeLocationsForWaysoperator= (const NodeLocationsForWays &)=delete
 
 NodeLocationsForWays (NodeLocationsForWays &&)=default
 
NodeLocationsForWaysoperator= (NodeLocationsForWays &&)=default
 
 ~NodeLocationsForWays () noexcept=default
 
void ignore_errors ()
 
void node (const osmium::Node &node)
 
osmium::Location get_node_location (const osmium::object_id_type id) const
 
void way (osmium::Way &way)
 
void clear ()
 
- Public Member Functions inherited from osmium::handler::Handler
void osm_object (const osmium::OSMObject &) const
 
void node (const osmium::Node &) const
 
void way (const osmium::Way &) const
 
void relation (const osmium::Relation &) const
 
void area (const osmium::Area &) const
 
void changeset (const osmium::Changeset &) const
 
void tag_list (const osmium::TagList &) const
 
void way_node_list (const osmium::WayNodeList &) const
 
void relation_member_list (const osmium::RelationMemberList &) const
 
void outer_ring (const osmium::OuterRing &) const
 
void inner_ring (const osmium::InnerRing &) const
 
void changeset_discussion (const osmium::ChangesetDiscussion &) const
 
void flush () const
 

Static Private Member Functions

static dummy_typeget_dummy ()
 

Private Attributes

TStoragePosIDs & m_storage_pos
 Object that handles the actual storage of the node locations (with positive IDs). More...
 
TStorageNegIDs & m_storage_neg
 Object that handles the actual storage of the node locations (with negative IDs). More...
 
bool m_ignore_errors {false}
 
bool m_must_sort {false}
 

Detailed Description

template<typename TStoragePosIDs, typename TStorageNegIDs = dummy_type>
class osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >

Handler to retrieve locations from nodes and add them to ways.

Template Parameters
TStoragePosIDsClass that handles the actual storage of the node locations (for positive IDs). It must support the set(id, value) and get(id) methods.
TStorageNegIDsSame but for negative IDs.

Member Typedef Documentation

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
typedef TStorageNegIDs osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::index_neg_type
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
typedef TStoragePosIDs osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::index_pos_type

Constructor & Destructor Documentation

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::NodeLocationsForWays ( TStoragePosIDs &  storage_pos,
TStorageNegIDs &  storage_neg = get_dummy() 
)
inlineexplicit
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::NodeLocationsForWays ( const NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs > &  )
delete
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::NodeLocationsForWays ( NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs > &&  )
default
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::~NodeLocationsForWays ( )
defaultnoexcept

Member Function Documentation

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
void osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::clear ( )
inline

Call clear on the location indexes. Makes the NodeLocationsForWays handler unusable. Used to explicitly free memory if thats needed.

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
static dummy_type& osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::get_dummy ( )
inlinestaticprivate
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
osmium::Location osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::get_node_location ( const osmium::object_id_type  id) const
inline

Get location of node with given id.

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
void osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::ignore_errors ( )
inline
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
void osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::node ( const osmium::Node node)
inline

Store the location of the node in the storage.

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
NodeLocationsForWays& osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::operator= ( const NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs > &  )
delete
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
NodeLocationsForWays& osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::operator= ( NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs > &&  )
default
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
void osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::way ( osmium::Way way)
inline

Retrieve locations of all nodes in the way from storage and add them to the way object.

Member Data Documentation

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
bool osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::m_ignore_errors {false}
private
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
bool osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::m_must_sort {false}
private
template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
TStorageNegIDs& osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::m_storage_neg
private

Object that handles the actual storage of the node locations (with negative IDs).

template<typename TStoragePosIDs , typename TStorageNegIDs = dummy_type>
TStoragePosIDs& osmium::handler::NodeLocationsForWays< TStoragePosIDs, TStorageNegIDs >::m_storage_pos
private

Object that handles the actual storage of the node locations (with positive IDs).


The documentation for this class was generated from the following file: