#ifndef GODOT_HUB_MAP_TIME_H #define GODOT_HUB_MAP_TIME_H #include #include #include namespace cb::time { using internal_clock = std::chrono::high_resolution_clock; using time_point = std::chrono::time_point; using time_point_map = std::map; inline static time_point_map _name_to_measurement; inline static constexpr long long NO_MEASUREMENT = -1; time_point chrono_now(); void start_measure(const std::string_view& id); long long get_duration(const std::string_view &id); void measure(const std::string_view& id); bool has_measurement(const std::string_view &id); const time_point_map& get_measurements(); } #endif //GODOT_HUB_MAP_TIME_H