9#ifndef AVARA3D_PROFILE_PROFILER_H
10#define AVARA3D_PROFILE_PROFILER_H
38 Profiler(
const Profiler&) =
delete;
39 Profiler& operator=(
const Profiler&) =
delete;
41 Profiler(Profiler&&) =
delete;
42 Profiler& operator=(Profiler&&) =
delete;
46 void add(Tag tag, std::chrono::nanoseconds ns)
noexcept;
47 void add(
const std::string& key, std::chrono::nanoseconds ns)
noexcept;
53 std::chrono::nanoseconds time(Tag tag);
54 std::chrono::nanoseconds time(
const std::string& key);
61 std::map<Tag, std::chrono::nanoseconds> _taggedSamples;
62 std::map<std::string, std::chrono::nanoseconds> _keyedSamples;