34 #ifndef EMANESTATISTICREGISTRAR_HEADER_    35 #define EMANESTATISTICREGISTRAR_HEADER_    84                                           const std::string & sDescription = 
"");
   104                                                 const std::string & sDescription = 
"");
   129     template<
typename Key,
   130              typename Compare = std::less<EMANE::Any>,
   131              std::size_t scolumn = 0>
   136                   const std::string & sDescription = 
"");
   167     template<
typename Key,
   169              typename Compare = std::less<EMANE::Any>,
   170              std::size_t scolumn = 0>
   175                   const std::string & sDescription = 
"");
   194                                    const std::string & sDescription,
   212                                         const std::string & sDescription,
   220 #endif // EMANESTATISTICREGISTRAR_HEADER_ 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
 
The StatisticRegistrar allows NEM layers to register statistics and statistic tables. Statistics and Statistic tables are owned by the emulator framework and a borrowed reference is returned to the registering NEM layer. 
 
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="")
 
virtual ~StatisticRegistrar()
 
The Statistic interface is the base class of all statistics. It provided methods to access and clear ...
 
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.