42 const char *second_name )
45 ,
m_names { first_name, second_name }
77 return m_type == type::COUNTER_AND_TIMER ? 2 : 1;
85 : m_stat_count (defs.size ())
88 , m_value_names (
NULL)
92 std::size_t stat_index = 0;
93 for (
auto &def_it : defs)
95 if (def_it.m_id != stat_index)
98 throw std::runtime_error (
"statset_definition is bad");
112 std::size_t value_index = 0;
113 for (stat_index = 0; stat_index <
m_stat_count; stat_index++)
177 output_stats[it] = statsetr.
m_values[it];
186 output_stats[it] += statsetr.
m_values[it];
195 output_stats[it] += statsetr.
m_values[it];
generic_value< false > stat_value
stat_definition * m_stat_defs
generic_statset< true > atomic_statset
std::size_t m_value_count
static const std::size_t MAX_VALUE_COUNT
stat_definition & operator=(const stat_definition &other)
std::string * m_value_names
atomic_statset * create_atomic_statset(void) const
std::size_t get_value_count() const
statset * create_statset(void) const
std::size_t get_value_count(void) const
void add_stat_values(const statset &statsetr, stat_value *output_stats) const
std::size_t get_stat_count() const
statset_definition(void)=delete
void get_stat_values(const statset &statsetr, stat_value *output_stats) const
generic_value< IsAtomic > * m_values
const char * get_value_name(std::size_t value_index) const
generic_statset< false > statset
std::size_t get_values_memsize(void) const
const char * m_names[MAX_VALUE_COUNT]
~statset_definition(void)