Libosmium  2.2.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Protected Attributes | List of all members
osmium::DiffObject Class Reference

#include <diff_object.hpp>

Inheritance diagram for osmium::DiffObject:
Inheritance graph
[legend]
Collaboration diagram for osmium::DiffObject:
Collaboration graph
[legend]

Public Member Functions

 DiffObject () noexcept
 
 DiffObject (osmium::OSMObject &prev, osmium::OSMObject &curr, osmium::OSMObject &next) noexcept
 
 DiffObject (const DiffObject &)=default
 
DiffObjectoperator= (const DiffObject &)=default
 
 DiffObject (DiffObject &&)=default
 
DiffObjectoperator= (DiffObject &&)=default
 
const osmium::OSMObjectprev () const noexcept
 
const osmium::OSMObjectcurr () const noexcept
 
const osmium::OSMObjectnext () const noexcept
 
bool first () const noexcept
 
bool last () const noexcept
 
osmium::item_type type () const noexcept
 
osmium::object_id_type id () const noexcept
 
osmium::object_version_type version () const noexcept
 
osmium::changeset_id_type changeset () const noexcept
 
const osmium::Timestamp start_time () const noexcept
 
const osmium::Timestamp end_time () const noexcept
 
bool is_between (const osmium::Timestamp &from, const osmium::Timestamp &to) const noexcept
 
bool is_visible_at (const osmium::Timestamp &timestamp) const noexcept
 

Protected Attributes

osmium::OSMObjectm_prev
 
osmium::OSMObjectm_curr
 
osmium::OSMObjectm_next
 

Constructor & Destructor Documentation

osmium::DiffObject::DiffObject ( )
inlinenoexcept
osmium::DiffObject::DiffObject ( osmium::OSMObject prev,
osmium::OSMObject curr,
osmium::OSMObject next 
)
inlineexplicitnoexcept
osmium::DiffObject::DiffObject ( const DiffObject )
default
osmium::DiffObject::DiffObject ( DiffObject &&  )
default

Member Function Documentation

osmium::changeset_id_type osmium::DiffObject::changeset ( ) const
inlinenoexcept
const osmium::OSMObject& osmium::DiffObject::curr ( ) const
inlinenoexcept
const osmium::Timestamp osmium::DiffObject::end_time ( ) const
inlinenoexcept

Return the timestamp when the current version of the object is not valid any more, ie the time when the next version of the object is valid. If this is the last version of the object, this will return a special "end of time" timestamp that is guaranteed to be larger than any normal timestamp.

bool osmium::DiffObject::first ( ) const
inlinenoexcept
osmium::object_id_type osmium::DiffObject::id ( ) const
inlinenoexcept
bool osmium::DiffObject::is_between ( const osmium::Timestamp from,
const osmium::Timestamp to 
) const
inlinenoexcept

Current object version is valid between time "from" (inclusive) and time "to" (not inclusive).

This is a bit more complex than you'd think, because we have to handle the case properly where the start_time() == end_time().

bool osmium::DiffObject::is_visible_at ( const osmium::Timestamp timestamp) const
inlinenoexcept

Current object version is visible at the given timestamp.

bool osmium::DiffObject::last ( ) const
inlinenoexcept
const osmium::OSMObject& osmium::DiffObject::next ( ) const
inlinenoexcept
DiffObject& osmium::DiffObject::operator= ( const DiffObject )
default
DiffObject& osmium::DiffObject::operator= ( DiffObject &&  )
default
const osmium::OSMObject& osmium::DiffObject::prev ( ) const
inlinenoexcept
const osmium::Timestamp osmium::DiffObject::start_time ( ) const
inlinenoexcept
osmium::item_type osmium::DiffObject::type ( ) const
inlinenoexcept
osmium::object_version_type osmium::DiffObject::version ( ) const
inlinenoexcept

Member Data Documentation

osmium::OSMObject* osmium::DiffObject::m_curr
protected
osmium::OSMObject* osmium::DiffObject::m_next
protected
osmium::OSMObject* osmium::DiffObject::m_prev
protected

The documentation for this class was generated from the following file: