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: CommonEventLoop.h:14
std::string str() const
Definition: VMonitor.cc:156
Definition: VMonitor.h:116
std::string pretty_str(int namewidth=NameWidth, int colnum=ColCount) const
Definition: VMonitor.cc:186