Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Private Types | Private Attributes | List of all members
osmium::handler::DiskStore Class Reference

#include <disk_store.hpp>

Inheritance diagram for osmium::handler::DiskStore:
Inheritance graph
[legend]
Collaboration diagram for osmium::handler::DiskStore:
Collaboration graph
[legend]

Public Member Functions

 DiskStore (int data_fd, offset_index_type &node_index, offset_index_type &way_index, offset_index_type &relation_index)
 
void node (const osmium::Node &node)
 
void way (const osmium::Way &way)
 
void relation (const osmium::Relation &relation)
 
void operator() (const osmium::memory::Buffer &buffer)
 
- 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 Types

using offset_index_type = osmium::index::map::Map< unsigned_object_id_type, std::size_t >
 

Private Attributes

std::size_t m_offset = 0
 
int m_data_fd
 
offset_index_typem_node_index
 
offset_index_typem_way_index
 
offset_index_typem_relation_index
 

Detailed Description

Writes OSM data in the Osmium-internal serialized format to disk keeping track of object offsets in the indexes given to the constructor.

Note: This handler will only work if either all object IDs are positive or all object IDs are negative.

Member Typedef Documentation

◆ offset_index_type

Constructor & Destructor Documentation

◆ DiskStore()

osmium::handler::DiskStore::DiskStore ( int  data_fd,
offset_index_type node_index,
offset_index_type way_index,
offset_index_type relation_index 
)
inlineexplicit

Member Function Documentation

◆ node()

void osmium::handler::DiskStore::node ( const osmium::Node node)
inline

◆ operator()()

void osmium::handler::DiskStore::operator() ( const osmium::memory::Buffer &  buffer)
inline

◆ relation()

void osmium::handler::DiskStore::relation ( const osmium::Relation relation)
inline

◆ way()

void osmium::handler::DiskStore::way ( const osmium::Way way)
inline

Member Data Documentation

◆ m_data_fd

int osmium::handler::DiskStore::m_data_fd
private

◆ m_node_index

offset_index_type& osmium::handler::DiskStore::m_node_index
private

◆ m_offset

std::size_t osmium::handler::DiskStore::m_offset = 0
private

◆ m_relation_index

offset_index_type& osmium::handler::DiskStore::m_relation_index
private

◆ m_way_index

offset_index_type& osmium::handler::DiskStore::m_way_index
private

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