Libosmium
2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <relations_map.hpp>
Public Member Functions | |
RelationsMapIndex ()=delete | |
RelationsMapIndex (const RelationsMapIndex &)=delete | |
RelationsMapIndex & | operator= (const RelationsMapIndex &)=delete |
RelationsMapIndex (RelationsMapIndex &&) noexcept(std::is_nothrow_move_constructible< map_type >::value) | |
RelationsMapIndex & | operator= (RelationsMapIndex &&) noexcept(std::is_nothrow_move_assignable< map_type >::value) |
~RelationsMapIndex () noexcept=default | |
template<typename TFunc > | |
void | for_each_parent (const osmium::unsigned_object_id_type member_id, TFunc &&func) const |
template<typename TFunc > | |
void | for_each (const osmium::unsigned_object_id_type id, TFunc &&func) const |
bool | empty () const noexcept |
std::size_t | size () const noexcept |
Private Types | |
using | map_type = detail::flat_map< osmium::unsigned_object_id_type, uint32_t, osmium::unsigned_object_id_type, uint32_t > |
Private Member Functions | |
RelationsMapIndex (map_type &&map) | |
Private Attributes | |
map_type | m_map |
Friends | |
class | RelationsMapStash |
class | RelationsMapIndexes |
Index for looking up parent relation IDs given a member relation ID or the other way around.
You can not instantiate such an index yourself, instead you need to instantiate a RelationsMapStash, fill it and then create an index from it:
|
private |
|
inlineexplicitprivate |
|
delete |
|
delete |
|
inlinedefaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
Is this index empty?
Complexity: Constant.
|
inline |
Find the given relation id in the index and call the given function with all related relation ids.
Complexity: Logarithmic in the number of elements in the index. (Lookup uses binary search.)
|
inline |
Find the given relation id in the index and call the given function with all parent relation ids.
Complexity: Logarithmic in the number of elements in the index. (Lookup uses binary search.)
|
delete |
|
inlinedefaultnoexcept |
|
inlinenoexcept |
How many entries are in this index?
Complexity: Constant.
|
friend |
|
friend |
|
private |