DiSMEC++
dismec::stats::MultiStat Class Referencefinal

#include <statistics.h>

Inheritance diagram for dismec::stats::MultiStat:
dismec::stats::StatImplBase< MultiStat > dismec::stats::Statistics

Public Member Functions

 MultiStat (std::unordered_map< std::string, std::unique_ptr< Statistics >> ss)
 
 ~MultiStat () override=default
 
void record_int (long value) override
 
void record_real (real_t value) override
 
void record_vec (const DenseRealVector &vector) override
 
std::unique_ptr< Statisticsclone () const override
 
void merge_imp (const MultiStat &other)
 
nlohmann::json to_json () const override
 Converts the statistics current value into a json object. More...
 
void setup (const StatisticsCollection &source) override
 This function has to be called before the Statistics is used to collect data for the first time. More...
 
- Public Member Functions inherited from dismec::stats::StatImplBase< MultiStat >
void merge (const Statistics &other) override
 Merges this statistics of another one of the same type and settings. More...
 
void record_vec (const DenseRealVector &vector) override
 
- Public Member Functions inherited from dismec::stats::Statistics
virtual ~Statistics ()=default
 
void record (int integer)
 
void record (long integer)
 
void record (real_t real)
 
void record (const DenseRealVector &vector)
 

Private Types

using stats_map_t = std::unordered_map< std::string, std::unique_ptr< Statistics > >
 

Private Member Functions

template<class T >
void do_record (T &&)
 

Private Attributes

stats_map_t m_SubStats
 

Detailed Description

Definition at line 66 of file statistics.h.

Member Typedef Documentation

◆ stats_map_t

using dismec::stats::MultiStat::stats_map_t = std::unordered_map<std::string, std::unique_ptr<Statistics> >
private

Definition at line 80 of file statistics.h.

Constructor & Destructor Documentation

◆ MultiStat()

MultiStat::MultiStat ( std::unordered_map< std::string, std::unique_ptr< Statistics >>  ss)

Definition at line 114 of file statistics.cpp.

◆ ~MultiStat()

dismec::stats::MultiStat::~MultiStat ( )
overridedefault

Member Function Documentation

◆ clone()

std::unique_ptr< Statistics > MultiStat::clone ( ) const
overridevirtual

Implements dismec::stats::Statistics.

Definition at line 135 of file statistics.cpp.

References m_SubStats.

◆ do_record()

template<class T >
void MultiStat::do_record ( T &&  value)
private

Definition at line 129 of file statistics.cpp.

References m_SubStats.

Referenced by record_int(), record_real(), and record_vec().

◆ merge_imp()

void MultiStat::merge_imp ( const MultiStat other)

Definition at line 143 of file statistics.cpp.

References m_SubStats.

◆ record_int()

void MultiStat::record_int ( long  value)
overridevirtual

Reimplemented from dismec::stats::Statistics.

Definition at line 118 of file statistics.cpp.

References do_record().

◆ record_real()

void MultiStat::record_real ( real_t  value)
overridevirtual

Reimplemented from dismec::stats::Statistics.

Definition at line 121 of file statistics.cpp.

References do_record().

◆ record_vec()

void MultiStat::record_vec ( const DenseRealVector vector)
overridevirtual

Reimplemented from dismec::stats::Statistics.

Definition at line 124 of file statistics.cpp.

References do_record().

◆ setup()

void MultiStat::setup ( const StatisticsCollection source)
overridevirtual

This function has to be called before the Statistics is used to collect data for the first time.

This will look up any tags that might be used within the statistics in source.

Exceptions
std::runtime_errorif a tag is required by the statistics but cannot be found in source.
Parameters
sourceThe statistics collection from which the tags can be read.

Reimplemented from dismec::stats::Statistics.

Definition at line 160 of file statistics.cpp.

References m_SubStats.

◆ to_json()

nlohmann::json MultiStat::to_json ( ) const
overridevirtual

Converts the statistics current value into a json object.

Implements dismec::stats::Statistics.

Definition at line 149 of file statistics.cpp.

References m_SubStats.

Member Data Documentation

◆ m_SubStats

stats_map_t dismec::stats::MultiStat::m_SubStats
private

Definition at line 81 of file statistics.h.

Referenced by clone(), do_record(), merge_imp(), setup(), and to_json().


The documentation for this class was generated from the following files: