Libosmium
2.15.1
Fast and flexible C++ library for working with OpenStreetMap data
|
Go to the documentation of this file. 1 #ifndef OSMIUM_RELATIONS_RELATIONS_DATABASE_HPP
2 #define OSMIUM_RELATIONS_RELATIONS_DATABASE_HPP
114 std::size_t&
members(std::size_t pos) noexcept {
155 std::size_t
size() const noexcept {
186 return elem.handle.valid();
197 template <
typename TFunc>
238 std::size_t
pos() const noexcept {
313 assert(pos < m_elements.size());
322 template <
typename TFunc>
324 for (std::size_t pos = 0; pos <
m_elements.size(); ++pos) {
335 #endif // OSMIUM_RELATIONS_RELATIONS_DATABASE_HPP
osmium::ItemStash::handle_type handle
A handle to the relation in the ItemStash.
Definition: relations_database.hpp:89
T & get(handle_type handle) const
Definition: item_stash.hpp:294
void decrement_members() noexcept
Definition: relations_database.hpp:297
Relation * operator->()
Definition: relations_database.hpp:259
Definition: relations_database.hpp:82
osmium::Relation & get_relation(std::size_t pos)
Definition: relations_database.hpp:105
std::vector< element > m_elements
Definition: relations_database.hpp:103
Definition: relations_database.hpp:208
RelationHandle operator[](std::size_t pos) noexcept
Definition: relations_database.hpp:312
void increment_members() noexcept
Definition: relations_database.hpp:288
std::size_t m_pos
Definition: relations_database.hpp:213
RelationHandle(RelationsDatabase *relation_database, std::size_t pos)
Definition: relations_database.hpp:215
std::size_t pos() const noexcept
Definition: relations_database.hpp:238
std::size_t count_relations() const noexcept
Definition: relations_database.hpp:184
Definition: relations_database.hpp:86
RelationsDatabase(osmium::ItemStash &stash)
Definition: relations_database.hpp:133
void remove_item(handle_type handle)
Definition: item_stash.hpp:338
void set_members(std::size_t value) noexcept
Definition: relations_database.hpp:281
void remove(std::size_t pos)
Definition: relations_database.hpp:118
handle_type add_item(const osmium::memory::Item &item)
Definition: item_stash.hpp:251
RelationHandle add(const osmium::Relation &relation)
Definition: relations_database.hpp:317
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
const Relation * operator->() const
Definition: relations_database.hpp:266
std::size_t members
Definition: relations_database.hpp:98
Definition: item_stash.hpp:57
@ relation
Definition: entity_bits.hpp:70
RelationsDatabase * m_relation_database
Definition: relations_database.hpp:212
std::size_t size() const noexcept
Definition: relations_database.hpp:155
Definition: relation.hpp:168
bool has_all_members() const noexcept
Definition: relations_database.hpp:306
Definition: item_stash.hpp:71
std::size_t & members(std::size_t pos) noexcept
Definition: relations_database.hpp:114
void for_each_relation(TFunc &&func)
Definition: relations_database.hpp:323
void remove()
Definition: relations_database.hpp:274
std::size_t used_memory() const noexcept
Definition: relations_database.hpp:144
osmium::ItemStash & m_stash
Definition: relations_database.hpp:102
Relation & operator*()
Definition: relations_database.hpp:245
RelationsDatabase * relation_database() const noexcept
Definition: relations_database.hpp:225
const Relation & operator*() const
Definition: relations_database.hpp:252