UniSet 2.32.1
Открытые члены | Открытые статические члены | Статические открытые данные | Друзья | Полный список членов класса
Класс uniset::VMonitor

#include <VMonitor.h>

Открытые члены

std::string str () const
 
std::string pretty_str (int namewidth=NameWidth, int colnum=ColCount) const
 
 VMON_DEF_FUNC2 (int)
 
 VMON_DEF_FUNC2 (long)
 
 VMON_DEF_FUNC2 (short)
 
 VMON_DEF_FUNC2 (char)
 
 VMON_DEF_FUNC (bool)
 
 VMON_DEF_FUNC (float)
 
 VMON_DEF_FUNC (double)
 
 VMON_DEF_FUNC (Poco::Int64)
 
void add (const std::string &name, const std::string &v)
 
std::list< std::pair< std::string, std::string > > getList () const
 

Открытые статические члены

static const std::string pretty_str (const std::string &name, const std::string *v, int width=NameWidth)
 
static const std::string pretty_str (const std::string &name, const std::string &v, int width=NameWidth)
 

Статические открытые данные

static const int NameWidth = { 30 }
 
static const int ColCount = { 2 }
 

Друзья

std::ostream & operator<< (std::ostream &os, VMonitor &m)
 

Подробное описание

Вспомогательный класс для реализации "мониторинга" состояния переменных стандартных(!) типов. Необходимые переменные добавляются при помощи функции add() (специально перегруженной под разные типы). Для удобства использования должен быть определён макрос примерно следующего вида

#define vmonit( var ) vmon.add( #var, var )

При условии, что в классе создан объект VMonitor с именем vmon.

class MyClass
{
public:
MyClass()
{
// сделать один раз для нужных переменных
vmonit(myvar1);
vmonit(myvar2)
vmonit(myvar3);
}
...
void printState()
{
cout << vmon.get_pretty_str() << endl;
// или
cout << vmon.str() << endl;
// или
cout << vmon << endl;
}
private:
int myvar1;
bool myvar2;
long myvar3;
...
VMonitor vmon;
}

Методы

◆ pretty_str()

std::string uniset::VMonitor::pretty_str ( int namewidth = NameWidth,
int colnum = ColCount ) const

вывести все элементы "с форматированием" (отсортированные по алфавиту)

Аргументы
namewidth- ширина резервируемая под "имя"
colnum- количество столбцов вывода

◆ str()

std::string uniset::VMonitor::str ( ) const

вывести все элементы в "простом формате" (строки "varname = value")