Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::ScopedTraceSink Class Reference

Installs a sink for the lifetime of the scope, restoring whatever was previously installed (possibly nothing) on destruction. More...

#include <diagnostics.hpp>

Public Member Functions

 ScopedTraceSink (TraceSink sink)
 ~ScopedTraceSink () noexcept
 ScopedTraceSink (const ScopedTraceSink &)=delete
ScopedTraceSinkoperator= (const ScopedTraceSink &)=delete
 ScopedTraceSink (ScopedTraceSink &&)=delete
ScopedTraceSinkoperator= (ScopedTraceSink &&)=delete

Detailed Description

Installs a sink for the lifetime of the scope, restoring whatever was previously installed (possibly nothing) on destruction.

The idiomatic test harness:

std::vector<TraceEvent> log;
ScopedTraceSink guard{
    [&](const TraceEvent& ev) { log.push_back(ev); }
};
// ... exercise the framework, then assert on `log` ... 

Constructor & Destructor Documentation

◆ ScopedTraceSink() [1/3]

aria::ScopedTraceSink::ScopedTraceSink ( TraceSink sink)
inlineexplicit

◆ ~ScopedTraceSink()

aria::ScopedTraceSink::~ScopedTraceSink ( )
inlinenoexcept

◆ ScopedTraceSink() [2/3]

aria::ScopedTraceSink::ScopedTraceSink ( const ScopedTraceSink & )
delete

◆ ScopedTraceSink() [3/3]

aria::ScopedTraceSink::ScopedTraceSink ( ScopedTraceSink && )
delete

Member Function Documentation

◆ operator=() [1/2]

ScopedTraceSink & aria::ScopedTraceSink::operator= ( const ScopedTraceSink & )
delete

◆ operator=() [2/2]

ScopedTraceSink & aria::ScopedTraceSink::operator= ( ScopedTraceSink && )
delete

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