15 const std::shared_ptr<const PerfMeasurementMetadata>& metadata) :
19 size_t id()
const {
return metadata_->id(); }
25 unsigned int line()
const {
return metadata_->line(); }
33 return call_count_ > 0 ? total_duration_/
static_cast<ptrdiff_t>(call_count_) : PerfClock::duration{0};
38 void submit(PerfClock::time_point start, PerfClock::time_point end)
40 last_duration_ = end - start;
41 total_duration_ += last_duration_;
48 total_duration_ = PerfClock::duration{0};
49 last_duration_ = PerfClock::duration{0};
53 std::shared_ptr<const PerfMeasurementMetadata> metadata_;
54 size_t call_count_ = 0;
55 PerfClock::duration total_duration_{0};
56 PerfClock::duration last_duration_{0};
Definition c_string_view.h:12
Definition perf_measurement.h:12
PerfClock::duration average_duration() const
Definition perf_measurement.h:31
CStringView label() const
Definition perf_measurement.h:21
size_t id() const
Definition perf_measurement.h:19
size_t call_count() const
Definition perf_measurement.h:27
PerfMeasurement(const std::shared_ptr< const PerfMeasurementMetadata > &metadata)
Definition perf_measurement.h:14
PerfClock::duration total_duration() const
Definition perf_measurement.h:36
PerfClock::duration last_duration() const
Definition perf_measurement.h:29
unsigned int line() const
Definition perf_measurement.h:25
void clear()
Definition perf_measurement.h:45
CStringView filename() const
Definition perf_measurement.h:23
void submit(PerfClock::time_point start, PerfClock::time_point end)
Definition perf_measurement.h:38
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56