35 assert(ts.is_valid());
40 latency_timestamps::
size()
const noexcept(
true) {
41 const std::ptrdiff_t sz=current_timestamp-timestamps.get();
43 assert(
static_cast<size_type>(sz)<=num_timestamps);
44 return static_cast<size_type>(sz);
48 latency_timestamps::
push_back(element_type
const &ts)
noexcept(
true) {
49 if (num_timestamps>0 &&
size()<num_timestamps) {
50 element_type *curr_ts=current_timestamp.fetch_add(1U, std::memory_order_relaxed);
51 assert(curr_ts<std::next(timestamps.get(), num_timestamps));
52 assert(ts.is_valid());
55 assert(curr_ts->is_valid());