39 const std::string & sDescription)
41 static_assert(std::is_integral<T>() || std::is_floating_point<T>(),
42 "Type not convertable to numeric Any");
60 const std::string & sDescription)
75 template<
typename Key,
typename Compare, std::
size_t scolumn>
80 const std::string & sDescription)
84 if(scolumn >= labels.size())
86 throw makeException<RegistrarException>(
"table sort column index out of range for: %s",
96 return pStatisticTable;
98 template<
typename Key,
typename Function,
typename Compare, std::
size_t scolumn>
103 const std::string & sDescription)
107 if(scolumn >= labels.size())
109 throw makeException<RegistrarException>(
"table sort column index out of range for: %s",
119 return pStatisticTable;
A two dimentional statistic table that holds Any values.
A non-numeric statistic can be a std::string or an INETAddr.
A StatisticTablePublisher produces two dimensional tables of Anys.
virtual void registerTablePublisher(const std::string &sName, const StatisticProperties &properties, const std::string &sDescription, StatisticTablePublisher *pStatiticTablePublisher, std::function< void(StatisticTablePublisher *p)> clearFunc)=0
std::vector< std::string > StatisticTableLabels
StatisticTable< Key, Compare, scolumn > * registerTable(const std::string &sName, const StatisticTableLabels &labels, const StatisticProperties &properties=StatisticProperties::NONE, const std::string &sDescription="")
StatisticNumeric< T > * registerNumeric(const std::string &sName, const StatisticProperties &properties=StatisticProperties::NONE, const std::string &sDescription="")
StatisticNonNumeric< T > * registerNonNumeric(const std::string &sName, const StatisticProperties &properties=StatisticProperties::NONE, const std::string &sDescription="")
virtual void registerStatistic(const std::string &sName, Any::Type type, const StatisticProperties &properties, const std::string &sDescription, Statistic *pStatistic)=0
Defines a numeric statistic and its operations.