VM2D  1.12
Vortex methods for 2D flows simulation
VMlib::LogStream Class Reference

Класс, определяющий работу с потоком логов More...

#include <LogStream.h>

Collaboration diagram for VMlib::LogStream:

Public Member Functions

 LogStream ()
 Конструктор More...
 
void assignStream (std::ostream *pStr_, const std::string &label_)
 Связывание потока логов с потоком вывода More...
 
void inheritStream (LogStream &infoStream_, const std::string &label_)
 Связывание потока логов с потоком вывода от другого потока логов More...
 
 ~LogStream ()
 Деструктор More...
 
void endl ()
 Вывод в поток логов пустой строки More...
 
std::ostream & operator() (char c)
 Оператор вывода в поток логов More...
 

Private Attributes

std::ostream * pStr
 Указатель на поток вывода More...
 
std::string label
 Метка потока More...
 

Detailed Description

Класс, определяющий работу с потоком логов

Author
Марчевский Илья Константинович 1.12
Date
14 января 2024 г.

Definition at line 53 of file LogStream.h.

Constructor & Destructor Documentation

VMlib::LogStream::LogStream ( )
inline

Конструктор

Производит инициализацию потока логов пустым указателем

Definition at line 67 of file LogStream.h.

68  : pStr(nullptr), label("") {};
std::string label
Метка потока
Definition: LogStream.h:60
std::ostream * pStr
Указатель на поток вывода
Definition: LogStream.h:57
VMlib::LogStream::~LogStream ( )
inline

Деструктор

Definition at line 96 of file LogStream.h.

96 {};

Member Function Documentation

void VMlib::LogStream::assignStream ( std::ostream *  pStr_,
const std::string &  label_ 
)
inline

Связывание потока логов с потоком вывода

Устанавливает связь потока логов с каким-либо потоком вывода

Parameters
[in]pStr_указатель на поток вывода
[in]label_константная ссылка на метку потока

Definition at line 77 of file LogStream.h.

78  {
79  pStr = pStr_;
80  label = label_;
81  }
std::string label
Метка потока
Definition: LogStream.h:60
std::ostream * pStr
Указатель на поток вывода
Definition: LogStream.h:57

Here is the caller graph for this function:

void VMlib::LogStream::endl ( )
inline

Вывод в поток логов пустой строки

Definition at line 100 of file LogStream.h.

101  {
102  *pStr << std::endl;
103  }
std::ostream * pStr
Указатель на поток вывода
Definition: LogStream.h:57

Here is the caller graph for this function:

void VMlib::LogStream::inheritStream ( LogStream infoStream_,
const std::string &  label_ 
)
inline

Связывание потока логов с потоком вывода от другого потока логов

Устанавливает связь потока логов с потоком вывода, связанным с другим потоком логов

Parameters
[in]infoStream_существующий поток логов
[in]label_константная ссылка на дополнительную метку потока

Definition at line 90 of file LogStream.h.

91  {
92  assignStream(infoStream_.pStr, infoStream_.label + "->" + label_);
93  }
void assignStream(std::ostream *pStr_, const std::string &label_)
Связывание потока логов с потоком вывода
Definition: LogStream.h:77

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream& VMlib::LogStream::operator() ( char  c)
inline

Оператор вывода в поток логов

Оператор (), возврящающий ссылку на поток вывода и печатающий соответствующую метку в зависимости от признака Типы признаков:

  • i — признак вывода информации, метка info
  • e — признак вывода ошибки, метка ERROR
  • t — признак вывода телеметрии, метка tele
  • - — признак вывода без метки (два пробела в начале строки)
  • _ — признак вывода без метки (четыре пробела в начале строки)
Parameters
[in]cпризнак типа выводимой информации
Returns
ссылку на поток вывода

Definition at line 118 of file LogStream.h.

119  {
120  if (pStr != nullptr)
121  {
122  switch (c)
123  {
124  case 'i':
125  *pStr << label << (label.length() > 0 ? " " : "") << "info: ";
126  break;
127 
128  case 'e':
129  *pStr << label << (label.length() > 0 ? " " : "") << "ERROR: ";
130  break;
131 
132  case 't':
133  *pStr << label << (label.length() > 0 ? " " : "") << "tele: ";
134  break;
135 
136  case '-':
137  *pStr << " ";
138  break;
139 
140  case '_':
141  *pStr << " ";
142  break;
143 
144  }
145  return *pStr;
146  }
147  else
148  {
149  pStr = new std::ostream(NULL);
150  return *pStr;
151  }
152  }
std::string label
Метка потока
Definition: LogStream.h:60
std::ostream * pStr
Указатель на поток вывода
Definition: LogStream.h:57

Member Data Documentation

std::string VMlib::LogStream::label
private

Метка потока

Definition at line 60 of file LogStream.h.

std::ostream* VMlib::LogStream::pStr
private

Указатель на поток вывода

Definition at line 57 of file LogStream.h.


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