Libosmium
2.4.1
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <collector.hpp>
Public Member Functions | |
HandlerPass2 (TCollector &collector) noexcept | |
void | node (const osmium::Node &node) |
void | way (const osmium::Way &way) |
void | relation (const osmium::Relation &relation) |
void | flush () |
![]() | |
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 | flush () const |
Private Member Functions | |
bool | find_and_add_object (const osmium::OSMObject &object) |
Private Attributes | |
TCollector & | m_collector |
int | m_want_types |
This is the handler class for the second pass of the Collector.
|
inlinenoexcept |
|
inlineprivate |
Find this object in the member vectors and add it to all relations that need it.
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
This variable is initialized with the number of different kinds of OSM objects we are interested in. If we only need way members (for instance for the multipolygon collector) it is intialized with 1 for instance. If node and way members are needed, it is initialized with 2.
In the after_* methods of this handler, it is decremented and once it reaches 0, we know we have all members available that we are ever going to get.