8#include "sleipnir/util/setup_profiler.hpp"
9#include "sleipnir/util/solve_profiler.hpp"
16template <
typename Profiler>
17 requires std::same_as<Profiler, SetupProfiler> ||
18 std::same_as<Profiler, SolveProfiler>
26 explicit ScopedProfiler(Profiler& profiler) noexcept : m_profiler{&profiler} {
45 : m_profiler{std::move(rhs.m_profiler)}, m_active{rhs.m_active} {
70 return m_profiler->current_duration();
Definition scoped_profiler.hpp:19
ScopedProfiler(ScopedProfiler &&rhs) noexcept
Definition scoped_profiler.hpp:44
void stop()
Definition scoped_profiler.hpp:57
~ScopedProfiler()
Definition scoped_profiler.hpp:33
ScopedProfiler(Profiler &profiler) noexcept
Definition scoped_profiler.hpp:26
const std::chrono::duration< double > & current_duration() const
Definition scoped_profiler.hpp:69