The Gaudi Framework  v32r0 (3325bb39)
CounterHolder< BASE > Class Template Reference

#include <GaudiKernel/CounterHolder.h>

Inheritance diagram for CounterHolder< BASE >:
Collaboration diagram for CounterHolder< BASE >:

Public Member Functions

void declareCounter (const std::string &tag, Gaudi::Accumulators::PrintableCounter &r)
 
const Gaudi::Accumulators::PrintableCounterfindCounter (const std::string &tag) const
 
template<typename Callable >
void forEachCounter (Callable &&f) const
 
int nCounters () const
 
void clearCounters ()
 

Private Attributes

std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > m_counters
 
std::mutex m_countersMutex
 

Detailed Description

template<class BASE>
class CounterHolder< BASE >

Definition at line 23 of file CounterHolder.h.

Member Function Documentation

template<class BASE>
void CounterHolder< BASE >::clearCounters ( )
inline

Definition at line 53 of file CounterHolder.h.

53  {
55  m_counters.clear();
56  }
T lock(T...args)
T clear(T...args)
std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > m_counters
Definition: CounterHolder.h:59
std::mutex m_countersMutex
Definition: CounterHolder.h:60
template<class BASE>
void CounterHolder< BASE >::declareCounter ( const std::string tag,
Gaudi::Accumulators::PrintableCounter r 
)
inline

Definition at line 30 of file CounterHolder.h.

30  {
32  m_counters.emplace( tag, r );
33  }
T lock(T...args)
T emplace(T...args)
std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > m_counters
Definition: CounterHolder.h:59
std::mutex m_countersMutex
Definition: CounterHolder.h:60
template<class BASE>
const Gaudi::Accumulators::PrintableCounter* CounterHolder< BASE >::findCounter ( const std::string tag) const
inline

Definition at line 35 of file CounterHolder.h.

35  {
37  auto p = this->m_counters.find( tag );
38  return p != m_counters.end() ? &p->second.get() : nullptr;
39  }
T end(T...args)
T lock(T...args)
T find(T...args)
std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > m_counters
Definition: CounterHolder.h:59
std::mutex m_countersMutex
Definition: CounterHolder.h:60
template<class BASE>
template<typename Callable >
void CounterHolder< BASE >::forEachCounter ( Callable &&  f) const
inline

Definition at line 42 of file CounterHolder.h.

42  {
45  [f = std::forward<Callable>( f )]( const auto& p ) { std::invoke( f, p.first, p.second.get() ); } );
46  }
T end(T...args)
T lock(T...args)
T begin(T...args)
T for_each(T...args)
std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > m_counters
Definition: CounterHolder.h:59
std::mutex m_countersMutex
Definition: CounterHolder.h:60
template<class BASE>
int CounterHolder< BASE >::nCounters ( ) const
inline

Definition at line 48 of file CounterHolder.h.

48  {
50  return m_counters.size();
51  }
T lock(T...args)
T size(T...args)
std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > m_counters
Definition: CounterHolder.h:59
std::mutex m_countersMutex
Definition: CounterHolder.h:60

Member Data Documentation

Definition at line 59 of file CounterHolder.h.

template<class BASE>
std::mutex CounterHolder< BASE >::m_countersMutex
mutableprivate

Definition at line 60 of file CounterHolder.h.


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