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 };
127 std::string
str()
const;
133 std::string
pretty_str(
int namewidth = NameWidth,
int colnum = ColCount )
const;
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()
const;
162 VMON_DEF_MAP2(
short);
166 VMON_DEF_MAP(
double);
167 #ifndef POCO_LONG_IS_64_BIT
168 std::unordered_map<const Poco::Int64*, const std::string> m_Int64;
170 VMON_DEF_MAP3(std::string,
string);
Definition: VMonitor.h:117
std::string pretty_str(int namewidth=NameWidth, int colnum=ColCount) const
Definition: VMonitor.cc:186
std::string str() const
Definition: VMonitor.cc:156
Definition: CommonEventLoop.h:15