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

#include <timestamp.hpp>

Public Member Functions

constexpr Timestamp () noexcept
 
constexpr Timestamp (time_t timestamp) noexcept
 
 Timestamp (const char *timestamp)
 
constexpr time_t seconds_since_epoch () const noexcept
 
constexpr operator time_t () const noexcept
 
constexpr operator uint32_t () const noexcept
 
template<typename T >
void operator+= (T time_difference) noexcept
 
template<typename T >
void operator-= (T time_difference) noexcept
 
std::string to_iso () const
 

Static Private Member Functions

static const char * timestamp_format ()
 

Private Attributes

uint32_t m_timestamp
 

Static Private Attributes

static constexpr int timestamp_length = 20 + 1
 

Detailed Description

A timestamp. Internal representation is an unsigned 32bit integer holding seconds since epoch, so this will overflow in 2038.

Constructor & Destructor Documentation

constexpr osmium::Timestamp::Timestamp ( )
inlinenoexcept
constexpr osmium::Timestamp::Timestamp ( time_t  timestamp)
inlinenoexcept
osmium::Timestamp::Timestamp ( const char *  timestamp)
inlineexplicit

Construct timestamp from ISO date/time string. Throws std::invalid_argument, if the timestamp can not be parsed.

Member Function Documentation

constexpr osmium::Timestamp::operator time_t ( ) const
inlinenoexcept
constexpr osmium::Timestamp::operator uint32_t ( ) const
inlineexplicitnoexcept
template<typename T >
void osmium::Timestamp::operator+= ( time_difference)
inlinenoexcept
template<typename T >
void osmium::Timestamp::operator-= ( time_difference)
inlinenoexcept
constexpr time_t osmium::Timestamp::seconds_since_epoch ( ) const
inlinenoexcept
static const char* osmium::Timestamp::timestamp_format ( )
inlinestaticprivate

The timestamp format for OSM timestamps in strftime(3) format. This is the ISO-Format yyyy-mm-ddThh:mm:ssZ

std::string osmium::Timestamp::to_iso ( ) const
inline

Return UTC Unix time as string in ISO date/time format.

Member Data Documentation

uint32_t osmium::Timestamp::m_timestamp
private
constexpr int osmium::Timestamp::timestamp_length = 20 + 1
staticprivate

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