71 #if !defined _MONITOR_STATISTIC_HPP_ 72 #define _MONITOR_STATISTIC_HPP_ 127 template <
typename Rep>
169 template <
typename Rep>
207 void fetch_add (
const Rep &value);
212 return m_value.compare_exchange_strong (compare_value, replace_value);
267 (void)
m_value.fetch_add (value.count ());
273 time_rep::rep compare_count = compare_value.count ();
274 return m_value.compare_exchange_strong (compare_count, replace_value.count ());
284 #if defined (MONITOR_ENABLE_ATOMIC_FLOATING_REP) 286 #endif // MONITOR_ENABLE_ATOMIC_FLOATING_REP 300 void collect (
const Rep &value);
309 void collect (
const Rep &value);
322 void collect (
const Rep &value);
331 void collect (
const Rep &value);
345 void collect (
const Rep &value);
355 void collect (
const Rep &value);
370 void collect (
const Rep &value);
380 void collect (
const Rep &value);
406 #if defined (MONITOR_ENABLE_ATOMIC_FLOATING_REP) 408 #endif // MONITOR_ENABLE_ATOMIC_FLOATING_REP 412 #if defined (MONITOR_ENABLE_ATOMIC_FLOATING_REP) 414 #endif // MONITOR_ENABLE_ATOMIC_FLOATING_REP 418 #if defined (MONITOR_ENABLE_ATOMIC_FLOATING_REP) 420 #endif // MONITOR_ENABLE_ATOMIC_FLOATING_REP 424 #if defined (MONITOR_ENABLE_ATOMIC_FLOATING_REP) 426 #endif // MONITOR_ENABLE_ATOMIC_FLOATING_REP 437 template <
typename Rep>
449 template <
typename Rep>
461 #if defined (MONITOR_ENABLE_ATOMIC_FLOATING_REP) 472 while (!compare_exchange (crt_value, crt_value + value));
474 #endif // MONITOR_ENABLE_ATOMIC_FLOATING_REP 476 template <
typename Rep>
494 template <
typename Rep>
505 template <
typename Rep>
509 this->
m_value.fetch_add (value);
512 template <
typename Rep>
519 template <
typename Rep>
526 template <
typename Rep>
536 template <
typename Rep>
556 while (!this->compare_exchange (loaded, value));
559 template <
typename Rep>
569 template <
typename Rep>
589 while (!compare_exchange (loaded, value));
595 #endif // _MONITOR_STATISTIC_HPP_
std::size_t get_statistics_count(void) const
void set_value(const Rep &value)
bool compare_exchange(Rep &compare_value, const Rep &replace_value)
std::size_t get_statistics_count(void) const
const fetch_mode FETCH_GLOBAL
Rep get_value(fetch_mode mode=FETCH_GLOBAL) const
void collect(const Rep &value)
void collect(const Rep &value)
std::uint64_t statistic_value
void fetch(statistic_value *destination, fetch_mode mode=FETCH_GLOBAL) const
atomic_primitive(time_rep value=time_rep())
clock_type::duration duration
void collect(const Rep &value)
std::atomic< time_rep::rep > m_value
bool compare_exchange(time_rep &compare_value, const time_rep &replace_value)
primitive & operator=(const primitive &other)
void fetch_add(const Rep &value)
static enum scanner_mode mode
void set_value(const time_rep &value)
void collect(const Rep &value)
floating_rep floating_rep_cast(statistic_value value)
void fetch(statistic_value *destination, fetch_mode mode=FETCH_GLOBAL) const
void fetch_add(const time_rep &value)
void collect(const Rep &value)
int count(int &result, const cub_regex_object ®, const std::string &src, const int position, const INTL_CODESET codeset)
std::size_t get_statistics_count(void) const
atomic_primitive(Rep value=Rep())
void collect(const Rep &value)
Rep get_value(fetch_mode mode=FETCH_GLOBAL) const
std::atomic< Rep > m_value
amount_rep amount_rep_cast(statistic_value value)
primitive(Rep value=Rep())
time_rep get_value(fetch_mode mode=FETCH_GLOBAL) const
void collect(const Rep &value)
void collect(const Rep &value)
statistic_value statistic_value_cast(const amount_rep &rep)
time_rep time_rep_cast(statistic_value value)
const fetch_mode FETCH_TRANSACTION_SHEET
void set_value(const Rep &value)