Libosmium
2.15.4
Fast and flexible C++ library for working with OpenStreetMap data
|
Go to the documentation of this file. 1 #ifndef OSMIUM_OSM_AREA_HPP
2 #define OSMIUM_OSM_AREA_HPP
54 template <
typename TDerived,
typename T>
55 class OSMObjectBuilder;
110 return id < 0 ? -area_id : area_id;
128 template <
typename TDerived,
typename T>
170 std::pair<size_t, size_t> counter{0, 0};
172 for (
const auto&
item : *
this) {
193 assert(
false &&
"Children of Area can only be outer/inner_ring and tag_list.");
241 return subitems<const osmium::OuterRing>();
263 box.
extend(ring.envelope());
273 #endif // OSMIUM_OSM_AREA_HPP
Definition: osm_object_builder.hpp:402
osmium::Box envelope() const noexcept
Definition: area.hpp:260
OSMIUM_DEPRECATED osmium::memory::ItemIterator< const osmium::InnerRing > inner_ring_cend(const osmium::memory::ItemIterator< const osmium::OuterRing > &it) const
Definition: area.hpp:231
Definition: object.hpp:64
unsigned char * next() noexcept
Definition: item.hpp:155
static constexpr osmium::item_type itemtype
Definition: area.hpp:85
#define OSMIUM_DEPRECATED
Definition: compatibility.hpp:51
std::pair< size_t, size_t > num_rings() const
Definition: area.hpp:169
OSMIUM_DEPRECATED osmium::memory::ItemIterator< const osmium::InnerRing > inner_ring_cbegin(const osmium::memory::ItemIterator< const osmium::OuterRing > &it) const
Definition: area.hpp:218
int64_t object_id_type
Type for OSM object (node, way, or relation) IDs.
Definition: types.hpp:45
osmium::memory::Item & item() const
Definition: builder.hpp:90
osmium::memory::ItemIteratorRange< const osmium::OuterRing > outer_rings() const
Definition: area.hpp:240
const_iterator cbegin() const noexcept
Definition: item_iterator.hpp:203
unsigned_object_id_type positive_id() const noexcept
Get absolute value of the ID of this object.
Definition: object.hpp:127
osmium::object_id_type orig_id() const noexcept
Definition: area.hpp:158
@ relation_member_list_with_full_members
OuterRing()
Definition: area.hpp:71
bool from_way() const noexcept
Definition: area.hpp:149
osmium::memory::ItemIteratorRange< const osmium::InnerRing > inner_rings(const osmium::OuterRing &outer) const
Definition: area.hpp:250
Definition: node_ref_list.hpp:52
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
osmium::object_id_type object_id_to_area_id(osmium::object_id_type id, osmium::item_type type) noexcept
Definition: area.hpp:105
ItemIterator< T > cast() const noexcept
Definition: item_iterator.hpp:97
osmium::object_id_type area_id_to_object_id(osmium::object_id_type id) noexcept
Definition: area.hpp:119
Definition: item_iterator.hpp:59
Area()
Definition: area.hpp:131
bool is_multipolygon() const
Definition: area.hpp:205
constexpr static bool is_compatible_to(osmium::item_type t) noexcept
Definition: area.hpp:87
Box & extend(const Location &location) noexcept
Definition: box.hpp:100
item_type type() const noexcept
Definition: item.hpp:171
constexpr static bool is_compatible_to(osmium::item_type t) noexcept
Definition: area.hpp:139
constexpr static bool is_compatible_to(osmium::item_type t) noexcept
Definition: area.hpp:67
static constexpr osmium::item_type itemtype
Definition: area.hpp:137
InnerRing()
Definition: area.hpp:91
static constexpr osmium::item_type itemtype
Definition: area.hpp:65
unsigned char * data() const noexcept
Definition: collection.hpp:91
type
Definition: entity_bits.hpp:63
item_type
Definition: item_type.hpp:43
Definition: item_iterator.hpp:175