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

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

std::string str ()
 
std::string pretty_str (int namewidth=NameWidth, int colnum=ColCount)
 
 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 ()
 

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

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;
}

Методы

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

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

Аргументы
namewidth- ширина резервируемая под "имя"
colnum- количество столбцов вывода
std::string uniset::VMonitor::str ( )

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