9 #include "opentelemetry/version.h"
32 template <
class Rep,
class Period>
34 : nanos_since_epoch_{
static_cast<int64_t
>(
35 std::chrono::duration_cast<std::chrono::nanoseconds>(
time_since_epoch).count())}
55 std::chrono::duration_cast<std::chrono::system_clock::duration>(
56 std::chrono::nanoseconds{nanos_since_epoch_})};
66 return std::chrono::nanoseconds{nanos_since_epoch_};
76 return nanos_since_epoch_ == other.nanos_since_epoch_;
86 return nanos_since_epoch_ != other.nanos_since_epoch_;
90 int64_t nanos_since_epoch_;
111 template <
class Rep,
class Period>
113 : nanos_since_epoch_{
static_cast<int64_t
>(
114 std::chrono::duration_cast<std::chrono::nanoseconds>(
time_since_epoch).count())}
134 std::chrono::duration_cast<std::chrono::steady_clock::duration>(
135 std::chrono::nanoseconds{nanos_since_epoch_})};
145 return std::chrono::nanoseconds{nanos_since_epoch_};
155 return nanos_since_epoch_ == other.nanos_since_epoch_;
165 return nanos_since_epoch_ != other.nanos_since_epoch_;
169 int64_t nanos_since_epoch_;
175 template <
class Rep,
class Period>
177 std::chrono::duration<Rep, Period> timeout,
178 std::chrono::duration<Rep, Period> indefinite_value) noexcept
183 return indefinite_value;
188 auto max_timeout = std::chrono::duration_cast<std::chrono::duration<Rep, Period>>(
190 if (timeout >= max_timeout)
192 return indefinite_value;
194 max_timeout = std::chrono::duration_cast<std::chrono::duration<Rep, Period>>(
196 if (timeout >= max_timeout)
198 return indefinite_value;