OpenWalnut  1.5.0dev
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
wlog::WStreamedLogger Class Reference

Resource class for streamed logging. More...

#include <WLogger.h>

+ Collaboration diagram for wlog::WStreamedLogger:

Classes

class  Buffer
 Actually implementing the streaming functionality. More...
 

Public Member Functions

 WStreamedLogger (const std::string &source, LogLevel level)
 Creates new streamed logger instance. More...
 
template<typename T >
WStreamedLogger operator<< (const T &loggable)
 Appends something loggable (to std::string castable) to the log. More...
 
WStreamedLogger operator<< (StreamManipulatorFunctor manip)
 This is totally crazy man! Don't get dizzy on that, watch out and ask a C++ guru next to your side, which is probably named Christian or have a look on that: http://stackoverflow.com/questions/1134388/stdendl-is-of-unknown-type-when-overloading-operator. More...
 

Private Member Functions

WStreamedLoggeroperator= (const WStreamedLogger &rhs)=delete
 Forbid assignment. More...
 

Private Attributes

std::shared_ptr< Bufferm_buffer
 Collects the message parts. More...
 

Detailed Description

Resource class for streamed logging.

Definition at line 179 of file WLogger.h.

Constructor & Destructor Documentation

◆ WStreamedLogger()

wlog::WStreamedLogger::WStreamedLogger ( const std::string &  source,
LogLevel  level 
)
inline

Creates new streamed logger instance.

Logging is deferred until destruction of this instance.

Parameters
sourceSource from which the log message originates
levelThe LogLevel of the message

Definition at line 254 of file WLogger.h.

Referenced by wlog::_wlog().

+ Here is the caller graph for this function:

Member Function Documentation

◆ operator<<() [1/2]

template<typename T >
WStreamedLogger wlog::WStreamedLogger::operator<< ( const T &  loggable)
inline

Appends something loggable (to std::string castable) to the log.

Parameters
loggableToken that should be streamed into the Logger
Returns
The streamed logger for further use

Definition at line 259 of file WLogger.h.

References m_buffer.

◆ operator<<() [2/2]

WStreamedLogger wlog::WStreamedLogger::operator<< ( StreamManipulatorFunctor  manip)
inline

This is totally crazy man! Don't get dizzy on that, watch out and ask a C++ guru next to your side, which is probably named Christian or have a look on that: http://stackoverflow.com/questions/1134388/stdendl-is-of-unknown-type-when-overloading-operator.

Allow std::endl to be streamed into log messages.

Parameters
manipFunction pointer e.g. std::endl, std::flush, std::ends
Returns
The streamed logger for further use

Definition at line 266 of file WLogger.h.

References m_buffer.

◆ operator=()

WStreamedLogger& wlog::WStreamedLogger::operator= ( const WStreamedLogger rhs)
privatedelete

Forbid assignment.

Parameters
rhsThe instance which SHOULD be copied over
Returns
A reference to the variable for which assignment was INTENDED.

Member Data Documentation

◆ m_buffer

std::shared_ptr< Buffer > wlog::WStreamedLogger::m_buffer
private

Collects the message parts.

Definition at line 251 of file WLogger.h.

Referenced by operator<<().


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