1#ifndef OSMIUM_OSM_ENTITY_BITS_HPP
2#define OSMIUM_OSM_ENTITY_BITS_HPP
46 namespace osm_entity_bits {
63 enum type :
unsigned char {
90 return static_cast<type>(
static_cast<unsigned char>(lhs) |
static_cast<unsigned char>(rhs));
94 return static_cast<type>(
static_cast<unsigned char>(lhs) &
static_cast<unsigned char>(rhs));
98 return all &
static_cast<type>(~static_cast<unsigned char>(value));
118 const auto ut =
static_cast<std::underlying_type_t<osmium::item_type>
>(
item_type);
type & operator|=(type &lhs, const type rhs) noexcept
Definition: entity_bits.hpp:101
type operator&=(type &lhs, const type rhs) noexcept
Definition: entity_bits.hpp:106
type
Definition: entity_bits.hpp:63
@ nw
node or way object
Definition: entity_bits.hpp:70
@ ra
relation or area object
Definition: entity_bits.hpp:79
@ node
Definition: entity_bits.hpp:68
@ changeset
Definition: entity_bits.hpp:84
@ wa
way or area object
Definition: entity_bits.hpp:77
@ wra
way, relation or area object
Definition: entity_bits.hpp:81
@ nra
node, relation or area object
Definition: entity_bits.hpp:80
@ all
object or changeset
Definition: entity_bits.hpp:85
@ nwa
node, way or area object
Definition: entity_bits.hpp:78
@ nwr
node, way, or relation object
Definition: entity_bits.hpp:74
@ nwra
node, way, relation, or area object
Definition: entity_bits.hpp:82
@ relation
Definition: entity_bits.hpp:71
@ wr
way or relation object
Definition: entity_bits.hpp:73
@ area
Definition: entity_bits.hpp:75
@ nothing
Definition: entity_bits.hpp:67
@ way
Definition: entity_bits.hpp:69
@ na
node or area object
Definition: entity_bits.hpp:76
@ nr
node or relation object
Definition: entity_bits.hpp:72
constexpr type operator|(const type lhs, const type rhs) noexcept
Definition: entity_bits.hpp:89
constexpr type operator~(const type value) noexcept
Definition: entity_bits.hpp:97
constexpr type operator&(const type lhs, const type rhs) noexcept
Definition: entity_bits.hpp:93
type from_item_type(osmium::item_type item_type) noexcept
Definition: entity_bits.hpp:117
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
item_type
Definition: item_type.hpp:45