27 #include <unordered_map>
28 #include <Poco/Types.h>
29 #include "UniSetTypes.h"
35 #define VMON_DEF_FUNC(T) \
36 void add( const std::string& name, const T& v );\
37 static const std::string pretty_str( const std::string& name, const T* v, int width = NameWidth ); \
38 static const std::string pretty_str( const std::string& name, const T& v, int width = NameWidth )
40 #ifndef VMON_DEF_FUNC2
41 #define VMON_DEF_FUNC2(T) \
42 void add( const std::string& name, const T& v );\
43 void add( const std::string& name, const unsigned T& v );\
44 static const std::string pretty_str( const std::string& name, const T* v, int width = NameWidth );\
45 static const std::string pretty_str( const std::string& name, const unsigned T* v, int width = NameWidth ); \
46 static const std::string pretty_str( const std::string& name, const T& v, int width = NameWidth );\
47 static const std::string pretty_str( const std::string& name, const unsigned T& v, int width = NameWidth )
51 #define VMON_DEF_MAP(T) std::unordered_map<const T*,const std::string> m_##T
55 #define VMON_DEF_MAP2(T) \
56 std::unordered_map<const T*,const std::string> m_##T; \
57 std::unordered_map<const unsigned T*,const std::string> m_unsigned_##T
61 #define VMON_DEF_MAP3(T,M) std::unordered_map<const T*,const std::string> m_##M
121 friend std::ostream& operator<<(std::ostream& os,
VMonitor& m );
123 static const int NameWidth = { 30 };
124 static const int ColCount = { 2 };
133 std::string
pretty_str(
int namewidth = NameWidth,
int colnum = ColCount );
137 VMON_DEF_FUNC2(
long);
138 VMON_DEF_FUNC2(
short);
139 VMON_DEF_FUNC2(
char);
141 VMON_DEF_FUNC(
float);
142 VMON_DEF_FUNC(
double);
144 #ifndef POCO_LONG_IS_64_BIT
145 VMON_DEF_FUNC(Poco::Int64);
148 void add(
const std::string& name,
const std::string& v );
150 static const std::string
pretty_str(
const std::string& name,
const std::string* v,
int width = NameWidth );
151 static const std::string
pretty_str(
const std::string& name,
const std::string& v,
int width = NameWidth );
153 std::list<std::pair<std::string, std::string>> getList();
161 VMON_DEF_MAP2(
short);
165 VMON_DEF_MAP(
double);
166 #ifndef POCO_LONG_IS_64_BIT
167 std::unordered_map<const Poco::Int64*, const std::string> m_Int64;
169 VMON_DEF_MAP3(std::string,
string);
Definition: CallbackTimer.h:29
Definition: VMonitor.h:116
std::string pretty_str(int namewidth=NameWidth, int colnum=ColCount)
Definition: VMonitor.cc:187
std::string str()
Definition: VMonitor.cc:166