Contur 2
Educational OS kernel simulator
Loading...
Searching...
No Matches
contur::NullTracer Class Referencefinal

No-op tracer used when tracing is disabled. More...

#include <null_tracer.h>

Inheritance diagram for contur::NullTracer:

Public Member Functions

 NullTracer (const IClock &clock)
 Constructs a no-op tracer.
 ~NullTracer () override=default
 Destroys no-op tracer.
 NullTracer (const NullTracer &)=delete
 Copy construction is disabled.
NullTraceroperator= (const NullTracer &)=delete
 Copy assignment is disabled.
 NullTracer (NullTracer &&)=delete
 Move constructor is deleted because of reference member.
NullTraceroperator= (NullTracer &&)=delete
 Move assignment is deleted because of reference member.
void trace (const TraceEvent &event) override
 Emits a pre-constructed trace event.
void pushScope (std::string_view subsystem, std::string_view operation) override
 Enters a nested tracing scope.
void popScope () override
 Leaves the current tracing scope.
std::uint32_t currentDepth () const noexcept override
 Returns current tracing depth for this tracer.
void setMinLevel (TraceLevel level) noexcept override
 Sets minimum event level that will be emitted.
TraceLevel minLevel () const noexcept override
 Returns minimum event level that will be emitted.
const IClockclock () const noexcept override
 Returns tracer clock reference.
Public Member Functions inherited from contur::ITracer
virtual ~ITracer ()=default
 Virtual destructor for polymorphic cleanup.

Private Attributes

const IClockclock_

Detailed Description

No-op tracer used when tracing is disabled.

Definition at line 13 of file null_tracer.h.

Constructor & Destructor Documentation

◆ NullTracer() [1/3]

contur::NullTracer::NullTracer ( const IClock & clock)
inlineexplicit

Constructs a no-op tracer.

Parameters
clockClock reference returned by clock().

Definition at line 18 of file null_tracer.h.

References clock(), and clock_.

Referenced by NullTracer(), NullTracer(), operator=(), and operator=().

◆ ~NullTracer()

contur::NullTracer::~NullTracer ( )
overridedefault

Destroys no-op tracer.

◆ NullTracer() [2/3]

contur::NullTracer::NullTracer ( const NullTracer & )
delete

Copy construction is disabled.

References NullTracer().

◆ NullTracer() [3/3]

contur::NullTracer::NullTracer ( NullTracer && )
delete

Move constructor is deleted because of reference member.

References NullTracer().

Member Function Documentation

◆ clock()

const IClock & contur::NullTracer::clock ( ) const
inlinenodiscardoverridevirtualnoexcept

Returns tracer clock reference.

Returns
Clock used for timestamping events.

Implements contur::ITracer.

Definition at line 72 of file null_tracer.h.

References clock_.

Referenced by NullTracer().

◆ currentDepth()

std::uint32_t contur::NullTracer::currentDepth ( ) const
inlinenodiscardoverridevirtualnoexcept

Returns current tracing depth for this tracer.

Returns
Current scope depth.

Implements contur::ITracer.

Definition at line 54 of file null_tracer.h.

◆ minLevel()

TraceLevel contur::NullTracer::minLevel ( ) const
inlinenodiscardoverridevirtualnoexcept

Returns minimum event level that will be emitted.

Implements contur::ITracer.

Definition at line 66 of file null_tracer.h.

References contur::Error.

◆ operator=() [1/2]

NullTracer & contur::NullTracer::operator= ( const NullTracer & )
delete

Copy assignment is disabled.

References NullTracer().

◆ operator=() [2/2]

NullTracer & contur::NullTracer::operator= ( NullTracer && )
delete

Move assignment is deleted because of reference member.

References NullTracer().

◆ popScope()

void contur::NullTracer::popScope ( )
inlineoverridevirtual

Leaves the current tracing scope.

Implements contur::ITracer.

Definition at line 50 of file null_tracer.h.

◆ pushScope()

void contur::NullTracer::pushScope ( std::string_view subsystem,
std::string_view operation )
inlineoverridevirtual

Enters a nested tracing scope.

Parameters
subsystemSubsystem name.
operationOperation name.

Implements contur::ITracer.

Definition at line 43 of file null_tracer.h.

◆ setMinLevel()

void contur::NullTracer::setMinLevel ( TraceLevel level)
inlineoverridevirtualnoexcept

Sets minimum event level that will be emitted.

Parameters
levelMinimum accepted level.

Implements contur::ITracer.

Definition at line 60 of file null_tracer.h.

◆ trace()

void contur::NullTracer::trace ( const TraceEvent & event)
inlineoverridevirtual

Emits a pre-constructed trace event.

Parameters
eventTrace event to emit.

Implements contur::ITracer.

Definition at line 37 of file null_tracer.h.

Member Data Documentation

◆ clock_

const IClock& contur::NullTracer::clock_
private

Definition at line 78 of file null_tracer.h.

Referenced by clock(), and NullTracer().


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