1#ifndef OSMIUM_OSM_AREA_HPP
2#define OSMIUM_OSM_AREA_HPP
53 template <
typename TDerived,
typename T>
54 class OSMObjectBuilder;
109 return id < 0 ? -area_id : area_id;
127 template <
typename TDerived,
typename T>
169 std::pair<size_t, size_t> counter{0, 0};
171 for (
const auto&
item : *
this) {
192 assert(
false &&
"Children of Area can only be outer/inner_ring and tag_list.");
214 return subitems<const osmium::OuterRing>();
236 box.extend(ring.envelope());
osmium::memory::ItemIteratorRange< const osmium::InnerRing > inner_rings(const osmium::OuterRing &outer) const
Definition: area.hpp:223
std::pair< size_t, size_t > num_rings() const
Definition: area.hpp:168
static constexpr bool is_compatible_to(osmium::item_type t) noexcept
Definition: area.hpp:138
bool from_way() const noexcept
Definition: area.hpp:148
static constexpr osmium::item_type itemtype
Definition: area.hpp:136
Area()
Definition: area.hpp:130
osmium::memory::ItemIteratorRange< const osmium::OuterRing > outer_rings() const
Definition: area.hpp:213
osmium::Box envelope() const noexcept
Definition: area.hpp:233
bool is_multipolygon() const
Definition: area.hpp:204
osmium::object_id_type orig_id() const noexcept
Definition: area.hpp:157
static constexpr osmium::item_type itemtype
Definition: area.hpp:84
InnerRing()
Definition: area.hpp:90
static constexpr bool is_compatible_to(osmium::item_type t) noexcept
Definition: area.hpp:86
Definition: node_ref_list.hpp:52
Definition: object.hpp:64
unsigned_object_id_type positive_id() const noexcept
Get absolute value of the ID of this object.
Definition: object.hpp:123
static constexpr osmium::item_type itemtype
Definition: area.hpp:64
OuterRing()
Definition: area.hpp:70
static constexpr bool is_compatible_to(osmium::item_type t) noexcept
Definition: area.hpp:66
osmium::memory::Item & item() const noexcept
Definition: builder.hpp:93
Definition: osm_object_builder.hpp:401
unsigned char * data() const noexcept
Definition: collection.hpp:91
Definition: item_iterator.hpp:175
const_iterator cbegin() const noexcept
Definition: item_iterator.hpp:203
item_type type() const noexcept
Definition: item.hpp:171
unsigned char * next() noexcept
Definition: item.hpp:155
type
Definition: entity_bits.hpp:63
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
int64_t object_id_type
Type for OSM object (node, way, or relation) IDs.
Definition: types.hpp:45
osmium::object_id_type object_id_to_area_id(osmium::object_id_type id, osmium::item_type type) noexcept
Definition: area.hpp:104
item_type
Definition: item_type.hpp:45
@ relation_member_list_with_full_members
osmium::object_id_type area_id_to_object_id(osmium::object_id_type id) noexcept
Definition: area.hpp:118