Sleipnir C++ API
Loading...
Searching...
No Matches
slp::PhaseTimeTracer< Tracer > Class Template Reference

#include </home/runner/work/Sleipnir/Sleipnir/include/sleipnir/util/time_tracer.hpp>

Public Member Functions

 PhaseTimeTracer (Tracer &tracer) noexcept
 
 ~PhaseTimeTracer ()
 Stops the active phase.
 
 PhaseTimeTracer (const PhaseTimeTracer &)=delete
 
PhaseTimeTracer & operator= (const PhaseTimeTracer &)=delete
 
void next (Tracer &tracer)
 
void stop ()
 Stops the active phase, if any.
 

Detailed Description

template<TimeTracer Tracer>
class slp::PhaseTimeTracer< Tracer >

Times a sequence of back-to-back phases.

Starting a phase stops the previous one, and the destructor stops the active one, so every exit path closes the phase that was running.

Template Parameters
TracerTime tracer type.

Constructor & Destructor Documentation

◆ PhaseTimeTracer()

template<TimeTracer Tracer>
slp::PhaseTimeTracer< Tracer >::PhaseTimeTracer ( Tracer &  tracer)
inlineexplicitnoexcept

Starts the first phase.

Parameters
tracerThe first phase's tracer.

Member Function Documentation

◆ next()

template<TimeTracer Tracer>
void slp::PhaseTimeTracer< Tracer >::next ( Tracer &  tracer)
inline

Stops the active phase, if any, and starts the next one.

Parameters
tracerThe next phase's tracer.

The documentation for this class was generated from the following file: