14template <
typename Profiler>
15 requires std::same_as<Profiler, SetupProfiler> ||
16 std::same_as<Profiler, SolveProfiler>
22 explicit ScopedProfiler(Profiler& profiler) noexcept : m_profiler{&profiler} {
37 : m_profiler{std::move(rhs.m_profiler)}, m_active{rhs.m_active} {
58 return m_profiler->current_duration();
ScopedProfiler & operator=(const ScopedProfiler &)=delete
ScopedProfiler(ScopedProfiler &&rhs) noexcept
Move constructor.
Definition scoped_profiler.hpp:36
void stop()
Stops the profiler.
Definition scoped_profiler.hpp:47
~ScopedProfiler()
Stops a profiler.
Definition scoped_profiler.hpp:27
ScopedProfiler(Profiler &profiler) noexcept
Starts a profiler.
Definition scoped_profiler.hpp:22
ScopedProfiler(const ScopedProfiler &)=delete
const std::chrono::duration< double > & current_duration() const
Returns the most recent solve duration in milliseconds as a double.
Definition scoped_profiler.hpp:57
Definition expression_graph.hpp:11