1 #ifndef OSMIUM_OSM_AREA_HPP 2 #define OSMIUM_OSM_AREA_HPP 50 template <
class T>
class ObjectBuilder;
97 return id < 0 ? -area_id : area_id;
118 OSMObject(sizeof(Area), osmium::item_type::area) {
130 return (positive_id() & 0x1) == 0;
146 std::pair<int, int> counter { 0, 0 };
148 for (
auto it = cbegin(); it != cend(); ++it) {
149 switch (it->type()) {
169 assert(
false &&
"Children of Area can only be outer/inner_ring and tag_list.");
182 return num_rings().first > 1;
212 #endif // OSMIUM_OSM_AREA_HPP osmium::object_id_type orig_id() const noexcept
Definition: area.hpp:136
bool from_way() const noexcept
Definition: area.hpp:129
type
Definition: entity_bits.hpp:60
Definition: item_iterator.hpp:119
osmium::memory::ItemIterator< const osmium::InnerRing > inner_ring_cbegin(const osmium::memory::ItemIterator< const osmium::OuterRing > &it) const
Definition: area.hpp:192
item_type
Definition: item_type.hpp:43
osmium::object_id_type object_id_to_area_id(osmium::object_id_type id, osmium::item_type type) noexcept
Definition: area.hpp:92
std::pair< int, int > num_rings() const
Definition: area.hpp:145
osmium::memory::ItemIterator< const osmium::InnerRing > inner_ring_cend(const osmium::memory::ItemIterator< const osmium::OuterRing > &it) const
Definition: area.hpp:203
int64_t object_id_type
Type for OSM object (node, way, or relation) IDs.
Definition: types.hpp:45
Namespace for everything in the Osmium library.
Definition: assembler.hpp:59
bool is_multipolygon() const
Definition: area.hpp:181
osmium::object_id_type area_id_to_object_id(osmium::object_id_type id) noexcept
Definition: area.hpp:106
OuterRing()
Definition: area.hpp:62
Definition: builder.hpp:186
Definition: node_ref_list.hpp:50
ItemIterator< T > cast() const
Definition: item_iterator.hpp:151
InnerRing()
Definition: area.hpp:78
Definition: object.hpp:58