Libosmium: osmium::relations::MembersDatabaseCommon::element Struct Reference

Libosmium Fast and flexible C++ library for working with OpenStreetMap data

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
osmium::relations::MembersDatabaseCommon::element Struct Reference
Collaboration diagram for osmium::relations::MembersDatabaseCommon::element:
[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:

- include/osmium/relations/members_database.hpp