VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
VMlib::LogStream Class Reference

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

#include <LogStream.h>

Collaboration diagram for VMlib::LogStream:

Public Member Functions

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

Private Attributes

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

Detailed Description

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

Author
Марчевский Илья Константинович \Version 1.14
Date
6 марта 2026 г.

Definition at line 56 of file LogStream.h.

Constructor & Destructor Documentation

◆ LogStream()

VMlib::LogStream::LogStream ( )
inline

Конструктор

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

Definition at line 70 of file LogStream.h.

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

◆ ~LogStream()

VMlib::LogStream::~LogStream ( )
inline

Деструктор

Definition at line 99 of file LogStream.h.

99{};

Member Function Documentation

◆ assignStream()

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

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

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

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

Definition at line 80 of file LogStream.h.

81 {
82 pStr = pStr_;
83 label = label_;
84 }
Here is the caller graph for this function:

◆ endl()

void VMlib::LogStream::endl ( )
inline

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

Definition at line 103 of file LogStream.h.

104 {
105 *pStr << std::endl;
106 }
Here is the caller graph for this function:

◆ inheritStream()

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

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

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

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

Definition at line 93 of file LogStream.h.

94 {
95 assignStream(infoStream_.pStr, infoStream_.label + "->" + label_);
96 }
void assignStream(std::ostream *pStr_, const std::string &label_)
Связывание потока логов с потоком вывода
Definition LogStream.h:80
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator()()

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

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

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

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

Definition at line 121 of file LogStream.h.

122 {
123 if (pStr != nullptr)
124 {
125 switch (c)
126 {
127 case 'i':
128 *pStr << label << (label.length() > 0 ? " " : "") << "info: ";
129 break;
130
131 case 'e':
132 *pStr << label << (label.length() > 0 ? " " : "") << "ERROR: ";
133 break;
134
135 case 't':
136 *pStr << label << (label.length() > 0 ? " " : "") << "tele: ";
137 break;
138
139 case '-':
140 *pStr << " ";
141 break;
142
143 case '_':
144 *pStr << " ";
145 break;
146
147 }
148 return *pStr;
149 }
150 else
151 {
152 pStr = new std::ostream(NULL);
153 return *pStr;
154 }
155 }

Member Data Documentation

◆ label

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

Метка потока

Definition at line 63 of file LogStream.h.

◆ pStr

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

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

Definition at line 60 of file LogStream.h.


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