List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
utl::MessageLogger::Message Class Reference

Message object. More...

#include <MessageLogger.h>

Public Member Functions

 operator bool () const
 Conversion to bool is always false. More...
 
template<typename T >
Messageoperator() (const T &t)
 Append a value separated from previous values. More...
 
 ~Message ()
 On destruction line termination is appended. More...
 

Private Member Functions

template<typename T >
 Message (MessageLogger &logger, const T &t, unsigned int l, bool e)
 Construct a message with the initial value and the given level. More...
 

Private Attributes

MessageLoggerfLogger
 
unsigned int fMessageLevel
 
std::ios_base::fmtflags fPrevFlag
 
std::streamsize fPrevPrec
 
bool fTrailEOL
 

Friends

class MessageLogger
 Grant constructor access to the wrapping logger. More...
 

Detailed Description

Message object.

This object are meant to be short-lived; likely to be temporaries. You construct the message, chain some calls to operator() and then the destructor outputs an eol.

Definition at line 48 of file MessageLogger.h.

Constructor & Destructor Documentation

template<typename T >
utl::MessageLogger::Message::Message ( MessageLogger logger,
const T &  t,
unsigned int  l,
bool  e 
)
inlineprivate

Construct a message with the initial value and the given level.

Parameters
loggerLogger to which stream out.
tInitial value.
lLevel
eEOL at last, or not.

Definition at line 59 of file MessageLogger.h.

References fLogger, fPrevFlag, fPrevPrec, utl::MessageLogger::GetNPrecDigits(), utl::MessageLogger::Log(), and utl::MessageLogger::ResolveStream().

utl::MessageLogger::Message::~Message ( )
inline

On destruction line termination is appended.

Definition at line 88 of file MessageLogger.h.

References fLogger, fMessageLevel, fPrevFlag, fPrevPrec, fTrailEOL, utl::MessageLogger::Log(), and utl::MessageLogger::ResolveStream().

Member Function Documentation

utl::MessageLogger::Message::operator bool ( ) const
inlineexplicit

Conversion to bool is always false.

Given that false is always returned, a final message can be generated in loops with a || condition: ie the real condition used as left operand and the message a right, given short-cut evaluation the right side will be only evaluated in the last iteration.

Definition at line 106 of file MessageLogger.h.

template<typename T >
Message& utl::MessageLogger::Message::operator() ( const T &  t)
inline

Append a value separated from previous values.

Returns
A self-reference to allow chaining.

Definition at line 79 of file MessageLogger.h.

References fLogger, fMessageLevel, and utl::MessageLogger::Log().

Friends And Related Function Documentation

friend class MessageLogger
friend

Grant constructor access to the wrapping logger.

Definition at line 71 of file MessageLogger.h.

Member Data Documentation

MessageLogger& utl::MessageLogger::Message::fLogger
private

Definition at line 108 of file MessageLogger.h.

Referenced by Message(), operator()(), and ~Message().

unsigned int utl::MessageLogger::Message::fMessageLevel
private

Definition at line 109 of file MessageLogger.h.

Referenced by operator()(), and ~Message().

std::ios_base::fmtflags utl::MessageLogger::Message::fPrevFlag
private

Definition at line 112 of file MessageLogger.h.

Referenced by Message(), and ~Message().

std::streamsize utl::MessageLogger::Message::fPrevPrec
private

Definition at line 111 of file MessageLogger.h.

Referenced by Message(), and ~Message().

bool utl::MessageLogger::Message::fTrailEOL
private

Definition at line 110 of file MessageLogger.h.

Referenced by ~Message().


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

, generated on Tue Sep 26 2023.