VLink 2.0.0
A high-performance communication middleware
Loading...
Searching...
No Matches
vlink::Logger::WrapperStream< LevelT > Class Template Referencefinal

RAII stream wrapper that accumulates tokens and flushes on destruction. More...

#include <logger.h>

Collaboration diagram for vlink::Logger::WrapperStream< LevelT >:

Public Member Functions

 WrapperStream (Logger::NoDetail) noexcept
 WrapperStream (DetailInfo &&detail) noexcept
 WrapperStream (WrapperStream &&other) noexcept
WrapperStreamoperator= (WrapperStream &&)=delete
 ~WrapperStream ()
template<typename T>
WrapperStreamoperator<< (T &&t) noexcept

Static Public Attributes

static constexpr bool kIsEnabled = (LevelT >= kMinimumLevel && LevelT < Logger::kOff)
 Indicates whether this level is enabled at compile time.

Detailed Description

template<Logger::Level LevelT>
class vlink::Logger::WrapperStream< LevelT >

RAII stream wrapper that accumulates tokens and flushes on destruction.

Used by the SLOG_* macros to allow natural << chaining. The message is emitted when the temporary WrapperStream object goes out of scope. If the log level is disabled at compile time (kIsEnabled == false), all methods are compiled away and the object has zero runtime cost.

Template Parameters
LevelTCompile-time log level.

Constructor & Destructor Documentation

◆ WrapperStream() [1/3]

template<Logger::Level LevelT>
vlink::Logger::WrapperStream< LevelT >::WrapperStream ( Logger::NoDetail )
inlineexplicitnoexcept
Here is the caller graph for this function:

◆ WrapperStream() [2/3]

template<Logger::Level LevelT>
vlink::Logger::WrapperStream< LevelT >::WrapperStream ( DetailInfo && detail)
inlineexplicitnoexcept

◆ WrapperStream() [3/3]

template<Logger::Level LevelT>
vlink::Logger::WrapperStream< LevelT >::WrapperStream ( WrapperStream< LevelT > && other)
inlinenoexcept
Here is the call graph for this function:

◆ ~WrapperStream()

template<Logger::Level LevelT>
vlink::Logger::WrapperStream< LevelT >::~WrapperStream ( )
inline

Member Function Documentation

◆ operator<<()

template<Logger::Level LevelT>
template<typename T>
WrapperStream & vlink::Logger::WrapperStream< LevelT >::operator<< ( T && t)
inlinenoexcept
Here is the call graph for this function:

◆ operator=()

template<Logger::Level LevelT>
WrapperStream & vlink::Logger::WrapperStream< LevelT >::operator= ( WrapperStream< LevelT > && )
delete
Here is the call graph for this function:

Member Data Documentation

◆ kIsEnabled

template<Logger::Level LevelT>
bool vlink::Logger::WrapperStream< LevelT >::kIsEnabled = (LevelT >= kMinimumLevel && LevelT < Logger::kOff)
staticconstexpr

Indicates whether this level is enabled at compile time.

If false, all operator<< calls and the destructor flush are no-ops.


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