1 #ifndef PROTON_TIMESTAMP_HPP
2 #define PROTON_TIMESTAMP_HPP
23 #include "./duration.hpp"
30 class timestamp :
private internal::comparable<timestamp> {
39 explicit timestamp(numeric_type ms = 0) : ms_(ms) {}
53 inline bool operator==(timestamp x, timestamp y) {
return x.milliseconds() == y.milliseconds(); }
54 inline bool operator<(timestamp x, timestamp y) {
return x.milliseconds() < y.milliseconds(); }
56 inline timestamp operator+(timestamp ts, duration d) {
return timestamp(ts.milliseconds() + d.milliseconds()); }
57 inline duration operator-(timestamp t0, timestamp t1) {
return duration(t0.milliseconds() - t1.milliseconds()); }
58 inline timestamp operator+(duration d, timestamp ts) {
return ts + d; }
62 PN_CPP_EXTERN std::ostream&
operator<<(std::ostream&, timestamp);
66 #endif // PROTON_TIMESTAMP_HPP
timestamp & operator=(numeric_type ms)
Assign from milliseconds.
Definition: timestamp.hpp:42
std::ostream & operator<<(std::ostream &, const binary &)
Print a binary value.
numeric_type milliseconds() const
Get milliseconds.
Definition: timestamp.hpp:45
timestamp(numeric_type ms=0)
Construct from milliseconds.
Definition: timestamp.hpp:39
static timestamp now()
The current wall-clock time.
int64_t numeric_type
A numeric type holding a milliseconds value.
Definition: timestamp.hpp:33
A 64-bit timestamp in milliseconds since the Unix epoch.
Definition: timestamp.hpp:30
Type traits for mapping between AMQP and C++ types.
Definition: annotation_key.hpp:28