Electroneum
tools::scoped_message_writer Class Reference

#include <scoped_message_writer.h>

Public Member Functions

 scoped_message_writer (epee::console_colors color=epee::console_color_default, bool bright=false, std::string &&prefix=std::string(), el::Level log_level=el::Level::Info)
 
 scoped_message_writer (scoped_message_writer &&rhs)
 
 scoped_message_writer (scoped_message_writer &rhs)=delete
 
scoped_message_writeroperator= (scoped_message_writer &rhs)=delete
 
scoped_message_writeroperator= (scoped_message_writer &&rhs)=delete
 
template<typename T >
std::ostream & operator<< (const T &val)
 
 ~scoped_message_writer ()
 

Detailed Description

Definition at line 49 of file scoped_message_writer.h.

Constructor & Destructor Documentation

◆ scoped_message_writer() [1/3]

tools::scoped_message_writer::scoped_message_writer ( epee::console_colors  color = epee::console_color_default,
bool  bright = false,
std::string &&  prefix = std::string(),
el::Level  log_level = el::Level::Info 
)
inline

Definition at line 58 of file scoped_message_writer.h.

64  : m_flush(true)
65  , m_color(color)
66  , m_bright(bright)
67  , m_log_level(log_level)
68  {
69  m_oss << prefix;
70  }

◆ scoped_message_writer() [2/3]

tools::scoped_message_writer::scoped_message_writer ( scoped_message_writer &&  rhs)
inline

Definition at line 72 of file scoped_message_writer.h.

73  : m_flush(std::move(rhs.m_flush))
74 #if defined(_MSC_VER)
75  , m_oss(std::move(rhs.m_oss))
76 #else
77  // GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316
78  , m_oss(rhs.m_oss.str(), std::ios_base::out | std::ios_base::ate)
79 #endif
80  , m_color(std::move(rhs.m_color))
81  , m_log_level(std::move(rhs.m_log_level))
82  {
83  rhs.m_flush = false;
84  }
const T & move(const T &t)
Definition: gtest-port.h:1317

◆ scoped_message_writer() [3/3]

tools::scoped_message_writer::scoped_message_writer ( scoped_message_writer rhs)
delete

◆ ~scoped_message_writer()

tools::scoped_message_writer::~scoped_message_writer ( )
inline

Definition at line 97 of file scoped_message_writer.h.

98  {
99  if (m_flush)
100  {
101  m_flush = false;
102 
103  MCLOG_FILE(m_log_level, "msgwriter", m_oss.str());
104 
105  PAUSE_READLINE();
106  if (epee::console_color_default == m_color)
107  {
108  std::cout << m_oss.str();
109  }
110  else
111  {
112  set_console_color(m_color, m_bright);
113  std::cout << m_oss.str();
115  }
116  std::cout << std::endl;
117  }
118  }
void reset_console_color()
Definition: mlog.cpp:460
void set_console_color(int color, bool bright)
Definition: mlog.cpp:341
#define PAUSE_READLINE()
#define MCLOG_FILE(level, cat, x)
Definition: misc_log_ex.h:48
Here is the call graph for this function:

Member Function Documentation

◆ operator<<()

template<typename T >
std::ostream& tools::scoped_message_writer::operator<< ( const T val)
inline

Definition at line 91 of file scoped_message_writer.h.

92  {
93  m_oss << val;
94  return m_oss;
95  }

◆ operator=() [1/2]

scoped_message_writer& tools::scoped_message_writer::operator= ( scoped_message_writer rhs)
delete

◆ operator=() [2/2]

scoped_message_writer& tools::scoped_message_writer::operator= ( scoped_message_writer &&  rhs)
delete

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