1 #ifndef OSMIUM_OSM_AREA_HPP 2 #define OSMIUM_OSM_AREA_HPP 51 template <
class T>
class ObjectBuilder;
98 return id < 0 ? -area_id : area_id;
119 OSMObject(sizeof(Area), osmium::item_type::area) {
131 return (positive_id() & 0x1) == 0;
147 std::pair<size_t, size_t> counter { 0, 0 };
149 for (
auto it = cbegin(); it != cend(); ++it) {
150 switch (it->type()) {
170 assert(
false &&
"Children of Area can only be outer/inner_ring and tag_list.");
183 return num_rings().first > 1;
218 return subitems<const osmium::OuterRing>();
237 #endif // OSMIUM_OSM_AREA_HPP
ItemIterator< T > cast() const noexcept
Definition: item_iterator.hpp:157
#define OSMIUM_DEPRECATED
Definition: compatibility.hpp:50
type
Definition: entity_bits.hpp:63
OSMIUM_DEPRECATED osmium::memory::ItemIterator< const osmium::InnerRing > inner_ring_cbegin(const osmium::memory::ItemIterator< const osmium::OuterRing > &it) const
Definition: area.hpp:195
Definition: item_iterator.hpp:235
Definition: item_iterator.hpp:119
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:93
OSMIUM_DEPRECATED osmium::memory::ItemIterator< const osmium::InnerRing > inner_ring_cend(const osmium::memory::ItemIterator< const osmium::OuterRing > &it) const
Definition: area.hpp:208
osmium::object_id_type orig_id() const noexcept
Definition: area.hpp:137
Namespace for everything in the Osmium library.
Definition: assembler.hpp:66
bool is_multipolygon() const
Definition: area.hpp:182
osmium::object_id_type area_id_to_object_id(osmium::object_id_type id) noexcept
Definition: area.hpp:107
int64_t object_id_type
Type for OSM object (node, way, or relation) IDs.
Definition: types.hpp:45
OuterRing()
Definition: area.hpp:63
bool from_way() const noexcept
Definition: area.hpp:130
Definition: builder.hpp:186
osmium::memory::ItemIteratorRange< const osmium::OuterRing > outer_rings() const
Definition: area.hpp:217
Definition: node_ref_list.hpp:50
data_type data() noexcept
Definition: item_iterator.hpp:195
osmium::memory::ItemIteratorRange< const osmium::InnerRing > inner_rings(const osmium::OuterRing &outer) const
Definition: area.hpp:227
std::pair< size_t, size_t > num_rings() const
Definition: area.hpp:146
const_iterator cbegin() const noexcept
Definition: item_iterator.hpp:263
InnerRing()
Definition: area.hpp:79
Definition: object.hpp:60