Libosmium
2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <relations_manager.hpp>
Public Member Functions | |
RelationsManagerBase () | |
osmium::relations::RelationsDatabase & | relations_database () noexcept |
Access the internal RelationsDatabase. More... | |
osmium::relations::MembersDatabase< osmium::Node > & | member_nodes_database () noexcept |
Access the internal database containing member nodes. More... | |
const osmium::relations::MembersDatabase< osmium::Node > & | member_nodes_database () const noexcept |
Access the internal database containing member nodes. More... | |
osmium::relations::MembersDatabase< osmium::Way > & | member_ways_database () noexcept |
Access the internal database containing member ways. More... | |
const osmium::relations::MembersDatabase< osmium::Way > & | member_ways_database () const noexcept |
Access the internal database containing member ways. More... | |
osmium::relations::MembersDatabase< osmium::Relation > & | member_relations_database () noexcept |
Access the internal database containing member relations. More... | |
const osmium::relations::MembersDatabase< osmium::Relation > & | member_relations_database () const noexcept |
Access the internal database containing member relations. More... | |
relations::MembersDatabaseCommon & | member_database (osmium::item_type type) noexcept |
const relations::MembersDatabaseCommon & | member_database (osmium::item_type type) const noexcept |
const osmium::OSMObject * | get_member_object (const osmium::RelationMember &member) const noexcept |
const osmium::Node * | get_member_node (osmium::object_id_type id) const noexcept |
const osmium::Way * | get_member_way (osmium::object_id_type id) const noexcept |
const osmium::Relation * | get_member_relation (osmium::object_id_type id) const noexcept |
void | prepare_for_lookup () |
relations_manager_memory_usage | used_memory () const noexcept |
osmium::memory::Buffer & | buffer () noexcept |
Access the output buffer. More... | |
void | set_callback (const std::function< void(osmium::memory::Buffer &&)> &callback) |
Set the callback called when the output buffer is full. More... | |
void | flush_output () |
Flush the output buffer. More... | |
void | possibly_flush () |
Flush the output buffer if it is full. More... | |
osmium::memory::Buffer | read () |
Return the contents of the output buffer. More... | |
Public Member Functions inherited from osmium::handler::Handler | |
void | osm_object (const osmium::OSMObject &) const noexcept |
void | node (const osmium::Node &) const noexcept |
void | way (const osmium::Way &) const noexcept |
void | relation (const osmium::Relation &) const noexcept |
void | area (const osmium::Area &) const noexcept |
void | changeset (const osmium::Changeset &) const noexcept |
void | tag_list (const osmium::TagList &) const noexcept |
void | way_node_list (const osmium::WayNodeList &) const noexcept |
void | relation_member_list (const osmium::RelationMemberList &) const noexcept |
void | outer_ring (const osmium::OuterRing &) const noexcept |
void | inner_ring (const osmium::InnerRing &) const noexcept |
void | changeset_discussion (const osmium::ChangesetDiscussion &) const noexcept |
void | flush () const noexcept |
Private Attributes | |
osmium::ItemStash | m_stash {} |
relations::RelationsDatabase | m_relations_db |
Database of all relations we are interested in. More... | |
relations::MembersDatabase< osmium::Node > | m_member_nodes_db |
Databases of all members we are interested in. More... | |
relations::MembersDatabase< osmium::Way > | m_member_ways_db |
relations::MembersDatabase< osmium::Relation > | m_member_relations_db |
osmium::memory::CallbackBuffer | m_output {} |
Output buffer. More... | |
This is a base class of the RelationsManager class template. It contains databases for the relations and the members that we need to keep track of and handles the ouput buffer. Unlike the RelationsManager class template this is a plain class.
Usually it is better to use the RelationsManager class template as a basis for your code, but you can also use this class if you have special needs.
|
inline |
|
inlinenoexcept |
Access the output buffer.
|
inline |
Flush the output buffer.
|
inlinenoexcept |
Get node with specified ID from members database.
id | The node ID we are looking for. |
|
inlinenoexcept |
Get member object from relation member.
|
inlinenoexcept |
Get relation with specified ID from members database.
id | The relation ID we are looking for. |
|
inlinenoexcept |
Get way with specified ID from members database.
id | The way ID we are looking for. |
|
inlinenoexcept |
Access the internal database containing members of the specified type (const version of this function).
type | osmium::item_type::node, way, or relation. |
|
inlinenoexcept |
Access the internal database containing members of the specified type (non-const version of this function).
type | osmium::item_type::node, way, or relation. |
|
inlinenoexcept |
Access the internal database containing member nodes.
|
inlinenoexcept |
Access the internal database containing member nodes.
|
inlinenoexcept |
Access the internal database containing member relations.
|
inlinenoexcept |
Access the internal database containing member relations.
|
inlinenoexcept |
Access the internal database containing member ways.
|
inlinenoexcept |
Access the internal database containing member ways.
|
inline |
Flush the output buffer if it is full.
|
inline |
Sort the members databases to prepare them for reading. Usually this is called between the first and second pass reading through an OSM data file.
|
inline |
Return the contents of the output buffer.
|
inlinenoexcept |
Access the internal RelationsDatabase.
|
inline |
Set the callback called when the output buffer is full.
|
inlinenoexcept |
Return the memory used by different components of the manager.
|
private |
Databases of all members we are interested in.
|
private |
|
private |
|
private |
Output buffer.
|
private |
Database of all relations we are interested in.
|
private |