qb::Timestamp Class Reference
Inheritance diagram for qb::Timestamp:
qb::LocalTimestamp qb::NanoTimestamp qb::RdtsTimestamp qb::UtcTimestamp

Public Member Functions

 Timestamp (uint64_t timestamp) noexcept
 
 Timestamp (const Timestamp &) noexcept=default
 
 Timestamp (Timestamp &&) noexcept=default
 
Timestampoperator= (uint64_t timestamp) noexcept
 
Timestampoperator= (const Timestamp &) noexcept=default
 
Timestampoperator= (Timestamp &&) noexcept=default
 
Timestampoperator+= (int64_t offset) noexcept
 
Timestampoperator+= (const Timespan &offset) noexcept
 
Timestampoperator-= (int64_t offset) noexcept
 
Timestampoperator-= (const Timespan &offset) noexcept
 
std::chrono::time_point< std::chrono::system_clock, std::chrono::duration< uint64_t, std::nano > > chrono () const noexcept
 
uint64_t days () const noexcept
 
uint64_t hours () const noexcept
 
uint64_t minutes () const noexcept
 
uint64_t seconds () const noexcept
 
uint64_t milliseconds () const noexcept
 
uint64_t microseconds () const noexcept
 
uint64_t nanoseconds () const noexcept
 
uint64_t total () const noexcept
 
void swap (Timestamp &timestamp) noexcept
 

Static Public Member Functions

template<class Clock , class Duration >
static Timestamp chrono (const std::chrono::time_point< Clock, Duration > &time_point) noexcept
 
static Timestamp days (int64_t days) noexcept
 
static Timestamp hours (int64_t hours) noexcept
 
static Timestamp minutes (int64_t minutes) noexcept
 
static Timestamp seconds (int64_t seconds) noexcept
 
static Timestamp milliseconds (int64_t milliseconds) noexcept
 
static Timestamp microseconds (int64_t microseconds) noexcept
 
static Timestamp nanoseconds (int64_t nanoseconds) noexcept
 
static uint64_t epoch () noexcept
 
static uint64_t utc ()
 
static uint64_t local ()
 
static uint64_t nano ()
 
static uint64_t rdts ()
 

Protected Attributes

uint64_t _timestamp
 

Friends

Timestamp operator+ (const Timestamp &timestamp, int64_t offset) noexcept
 
Timestamp operator+ (int64_t offset, const Timestamp &timestamp) noexcept
 
Timestamp operator+ (const Timestamp &timestamp, const Timespan &offset) noexcept
 
Timestamp operator+ (const Timespan &offset, const Timestamp &timestamp) noexcept
 
Timestamp operator- (const Timestamp &timestamp, int64_t offset) noexcept
 
Timestamp operator- (int64_t offset, const Timestamp &timestamp) noexcept
 
Timestamp operator- (const Timestamp &timestamp, const Timespan &offset) noexcept
 
Timestamp operator- (const Timespan &offset, const Timestamp &timestamp) noexcept
 
Timespan operator- (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator== (const Timestamp &timestamp1, uint64_t timestamp2) noexcept
 
bool operator== (uint64_t timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator== (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator!= (const Timestamp &timestamp1, uint64_t timestamp2) noexcept
 
bool operator!= (uint64_t timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator!= (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator> (const Timestamp &timestamp1, uint64_t timestamp2) noexcept
 
bool operator> (uint64_t timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator> (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator< (const Timestamp &timestamp1, uint64_t timestamp2) noexcept
 
bool operator< (uint64_t timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator< (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator>= (const Timestamp &timestamp1, uint64_t timestamp2) noexcept
 
bool operator>= (uint64_t timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator>= (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator<= (const Timestamp &timestamp1, uint64_t timestamp2) noexcept
 
bool operator<= (uint64_t timestamp1, const Timestamp &timestamp2) noexcept
 
bool operator<= (const Timestamp &timestamp1, const Timestamp &timestamp2) noexcept
 
void swap (Timestamp &timestamp1, Timestamp &timestamp2) noexcept