1#ifndef OSMIUM_OSM_ENTITY_HPP
2#define OSMIUM_OSM_ENTITY_HPP
44 template <
typename TSubitem,
typename TIter>
45 inline TSubitem& subitem_of_type(TIter it,
const TIter&
end) {
46 for (; it !=
end; ++it) {
47 if (TSubitem::is_compatible_to(it->type()) && !it->removed()) {
48 return reinterpret_cast<TSubitem&
>(*it);
54 static TSubitem subitem;
OSMEntity is the abstract base class for the OSMObject and Changeset classes.
Definition: entity.hpp:64
bool type_is_in(osmium::osm_entity_bits::type entity_bits) const
Definition: entity.hpp:80
static constexpr bool is_compatible_to(osmium::item_type t) noexcept
Definition: entity.hpp:68
OSMEntity(osmium::memory::item_size_type size, osmium::item_type type)
Definition: entity.hpp:76
item_type type() const noexcept
Definition: item.hpp:171
Item(item_size_type size=0, item_type type=item_type{}) noexcept
Definition: item.hpp:128
InputIterator< Reader > end(Reader &)
Definition: reader_iterator.hpp:47
uint32_t item_size_type
Definition: item.hpp:57
type
Definition: entity_bits.hpp:63
type from_item_type(osmium::item_type item_type) noexcept
Definition: entity_bits.hpp:108
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
item_type
Definition: item_type.hpp:45