Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Types | Public Member Functions | Public Attributes | List of all members
osmium::relations::MembersDatabaseCommon::element Struct Reference
Collaboration diagram for osmium::relations::MembersDatabaseCommon::element:
Collaboration graph
[legend]

Public Types

enum  { removed_value = std::numeric_limits<std::size_t>::max() }
 

Public Member Functions

 element (std::size_t rel_pos, osmium::object_id_type memb_id, std::size_t memb_num) noexcept
 
 element (osmium::object_id_type m_id) noexcept
 
bool is_removed () const noexcept
 
void remove () noexcept
 
bool operator< (const element &other) const noexcept
 

Public Attributes

osmium::object_id_type member_id
 
std::size_t member_num
 
std::size_t relation_pos
 
osmium::ItemStash::handle_type object_handle
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Special value used for member_num to mark the element as removed.

Enumerator
removed_value 

Constructor & Destructor Documentation

◆ element() [1/2]

osmium::relations::MembersDatabaseCommon::element::element ( std::size_t  rel_pos,
osmium::object_id_type  memb_id,
std::size_t  memb_num 
)
inlineexplicitnoexcept

◆ element() [2/2]

osmium::relations::MembersDatabaseCommon::element::element ( osmium::object_id_type  m_id)
inlineexplicitnoexcept

This constructor is used to create dummy elements that can be compared to the elements in a vector using the equal_range algorithm.

Member Function Documentation

◆ is_removed()

bool osmium::relations::MembersDatabaseCommon::element::is_removed ( ) const
inlinenoexcept

◆ operator<()

bool osmium::relations::MembersDatabaseCommon::element::operator< ( const element other) const
inlinenoexcept

◆ remove()

void osmium::relations::MembersDatabaseCommon::element::remove ( )
inlinenoexcept

Member Data Documentation

◆ member_id

osmium::object_id_type osmium::relations::MembersDatabaseCommon::element::member_id

Object ID of this relation member. Can be a node, way, or relation ID. It depends on the database in which this object is stored which kind of object is referenced here.

◆ member_num

std::size_t osmium::relations::MembersDatabaseCommon::element::member_num

Position of this member in the parent relation.

◆ object_handle

osmium::ItemStash::handle_type osmium::relations::MembersDatabaseCommon::element::object_handle

Handle to the stash where the object is stored.

The default value is the invalid one signifying that the object hasn't been found yet.

◆ relation_pos

std::size_t osmium::relations::MembersDatabaseCommon::element::relation_pos

Position of the parent relation in the relations database.


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