1 #ifndef OSMIUM_OSM_DIFF_OBJECT_HPP 2 #define OSMIUM_OSM_DIFF_OBJECT_HPP 89 assert(prev.type() == curr.type() && curr.type() == next.type());
90 assert(prev.id() == curr.id() && curr.id() == next.id());
97 return m_prev ==
nullptr;
106 assert(m_prev && m_curr && m_next);
116 assert(m_prev && m_curr && m_next);
126 assert(m_prev && m_curr && m_next);
136 assert(m_prev && m_curr && m_next);
146 assert(m_prev && m_curr && m_next);
156 assert(m_prev && m_curr && m_next);
157 return m_curr->
type();
166 assert(m_prev && m_curr && m_next);
176 assert(m_prev && m_curr && m_next);
186 assert(m_prev && m_curr && m_next);
196 assert(m_prev && m_curr && m_next);
210 assert(m_prev && m_curr && m_next);
224 assert(m_prev && m_curr && m_next);
236 assert(m_prev && m_curr && m_next);
242 template <
typename T>
251 const T&
prev() const noexcept {
255 const T&
curr() const noexcept {
259 const T&
next() const noexcept {
271 #endif // OSMIUM_OSM_DIFF_OBJECT_HPP uint32_t object_version_type
Type for OSM object version number.
Definition: types.hpp:47
osmium::object_version_type version() const noexcept
Definition: diff_object.hpp:175
DiffObjectDerived(const T &prev, const T &curr, const T &next) noexcept
Definition: diff_object.hpp:247
const osmium::OSMObject & prev() const noexcept
Definition: diff_object.hpp:105
Definition: diff_object.hpp:66
osmium::item_type type() const noexcept
Definition: diff_object.hpp:155
item_type
Definition: item_type.hpp:43
bool last() const noexcept
Definition: diff_object.hpp:145
const T & next() const noexcept
Definition: diff_object.hpp:259
const osmium::Timestamp start_time() const noexcept
Definition: diff_object.hpp:195
osmium::changeset_id_type changeset() const noexcept
Definition: diff_object.hpp:185
bool is_visible_at(const osmium::Timestamp ×tamp) const noexcept
Definition: diff_object.hpp:235
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
const T & curr() const noexcept
Definition: diff_object.hpp:255
const osmium::Timestamp end_time() const noexcept
Definition: diff_object.hpp:209
const osmium::OSMObject * m_next
Definition: diff_object.hpp:70
Definition: timestamp.hpp:145
const osmium::OSMObject * m_prev
Definition: diff_object.hpp:68
bool empty() const noexcept
Definition: diff_object.hpp:96
uint32_t changeset_id_type
Type for OSM changeset IDs.
Definition: types.hpp:48
int64_t object_id_type
Type for OSM object (node, way, or relation) IDs.
Definition: types.hpp:45
changeset_id_type changeset() const noexcept
Get changeset id of this object.
Definition: object.hpp:222
Definition: diff_object.hpp:243
osmium::object_id_type id() const noexcept
Definition: diff_object.hpp:165
const osmium::OSMObject & curr() const noexcept
Definition: diff_object.hpp:115
object_id_type id() const noexcept
Get ID of this object.
Definition: object.hpp:122
object_version_type version() const noexcept
Get version of this object.
Definition: object.hpp:198
const T & prev() const noexcept
Definition: diff_object.hpp:251
bool visible() const noexcept
Is this object marked visible (ie not deleted)?
Definition: object.hpp:156
bool first() const noexcept
Definition: diff_object.hpp:135
const osmium::OSMObject * m_curr
Definition: diff_object.hpp:69
constexpr Timestamp end_of_time() noexcept
Definition: timestamp.hpp:307
DiffObject() noexcept=default
item_type type() const noexcept
Definition: item.hpp:169
osmium::Timestamp timestamp() const noexcept
Get timestamp when this object last changed.
Definition: object.hpp:287
const osmium::OSMObject & next() const noexcept
Definition: diff_object.hpp:125
Definition: object.hpp:64
bool is_between(const osmium::Timestamp &from, const osmium::Timestamp &to) const noexcept
Definition: diff_object.hpp:223