VLink  2.0.0
A high-performance communication middleware
vlink::Logger::WrapperStream< LevelT > Class Template Referencefinal

RAII helper backing SLOG_*; collects 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 () noexcept(LevelT !=Level::kFatal)
 
template<typename T >
WrapperStreamoperator<< (T &&t) noexcept
 

Static Public Attributes

static constexpr bool kIsEnabled = (LevelT >= kMinimumLevel && LevelT < Logger::kOff)
 Static gate indicating whether the wrapper emits at the chosen level. More...
 

Detailed Description

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

RAII helper backing SLOG_*; collects tokens and flushes on destruction.

When kIsEnabled is false at the chosen level the type and its methods compile to nothing, so disabled-level call sites have zero runtime overhead.

Template Parameters
LevelTCompile-time severity level.

Constructor & Destructor Documentation

◆ WrapperStream() [1/3]

template<Logger::Level LevelT>
vlink::Logger::WrapperStream< LevelT >::WrapperStream ( Logger::NoDetail  )
inlineexplicitnoexcept

◆ 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

◆ ~WrapperStream()

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

Member Function Documentation

◆ operator<<()

template<Logger::Level LevelT>
template<typename T >
WrapperStream& vlink::Logger::WrapperStream< LevelT >::operator<< ( T &&  t)
inlinenoexcept

◆ operator=()

template<Logger::Level LevelT>
WrapperStream& vlink::Logger::WrapperStream< LevelT >::operator= ( WrapperStream< LevelT > &&  )
delete

Member Data Documentation

◆ kIsEnabled

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

Static gate indicating whether the wrapper emits at the chosen level.


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