1 #ifndef PROTON_DURATION_HPP
2 #define PROTON_DURATION_HPP
25 #include "./internal/export.hpp"
26 #include "./internal/comparable.hpp"
34 class duration :
private internal::comparable<duration> {
63 inline bool operator==(duration x, duration y) {
return x.milliseconds() == y.milliseconds(); }
65 inline duration operator+(duration x, duration y) {
return duration(x.milliseconds() + y.milliseconds()); }
66 inline duration operator-(duration x, duration y) {
return duration(x.milliseconds() - y.milliseconds()); }
67 inline duration operator*(duration d, uint64_t n) {
return duration(d.milliseconds()*n); }
68 inline duration operator*(uint64_t n, duration d) {
return d * n; }
73 #endif // PROTON_DURATION_HPP
std::ostream & operator<<(std::ostream &, const binary &)
Print a binary value.
duration(numeric_type ms=0)
Construct from milliseconds.
Definition: duration.hpp:40
A span of time in milliseconds.
Definition: duration.hpp:34
static const duration IMMEDIATE
Don't wait at all.
Definition: duration.hpp:49
Forward declarations for all the C++ types used by Proton to represent AMQP types.
int64_t numeric_type
Numeric type used to store milliseconds.
Definition: duration.hpp:37
static const duration SECOND
One second.
Definition: duration.hpp:50
numeric_type milliseconds() const
Return milliseconds.
Definition: duration.hpp:46
duration & operator=(numeric_type ms)
Assign.
Definition: duration.hpp:43
static const duration MINUTE
One minute.
Definition: duration.hpp:51
static const duration FOREVER
Wait forever.
Definition: duration.hpp:48