9#ifndef AVARA3D_PROFILE_PROFILER_H
10#define AVARA3D_PROFILE_PROFILER_H
36 Profiler(
const Profiler&) =
delete;
37 Profiler& operator=(
const Profiler&) =
delete;
39 Profiler(Profiler&&) =
delete;
40 Profiler& operator=(Profiler&&) =
delete;
44 void add(Tag tag, std::chrono::nanoseconds ns)
noexcept;
45 void add(
const std::string& key, std::chrono::nanoseconds ns)
noexcept;
51 std::chrono::nanoseconds time(Tag tag);
52 std::chrono::nanoseconds time(
const std::string& key);
59 std::map<Tag, std::chrono::nanoseconds> _taggedSamples;
60 std::map<std::string, std::chrono::nanoseconds> _keyedSamples;