The Gaudi Framework  master (d98a2936)
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args > Class Template Reference

An empty ancester of all counters that provides a buffer method that returns a buffer on itself Also registers the counter to its owner, with default type "counter" Due to this registration, move semantic is disabled. More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Accumulators.h>

Inheritance diagram for Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >:
Collaboration diagram for Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >:

Public Types

using BufferType = Buffer< Accumulator, Atomicity, Args... >
 

Public Member Functions

 BufferableCounter ()=default
 
template<typename OWNER >
 BufferableCounter (OWNER *o, std::string const &name)
 
BufferType buffer ()
 
 BufferableCounter (BufferableCounter const &)=delete
 
BufferableCounteroperator= (BufferableCounter const &)=delete
 
 ~BufferableCounter ()
 
- Public Member Functions inherited from Gaudi::Accumulators::PrintableCounter
 PrintableCounter ()=default
 
virtual ~PrintableCounter ()=default
 destructor More...
 
template<typename stream >
stream & printImpl (stream &s, std::string_view tag) const
 
virtual std::ostream & print (std::ostream &, bool tableFormat=false) const =0
 prints the counter to a stream More...
 
virtual MsgStreamprint (MsgStream &, bool tableFormat=true) const =0
 
virtual std::ostream & print (std::ostream &o, std::string_view tag) const
 prints the counter to a stream in table format, with the given tag More...
 
virtual MsgStreamprint (MsgStream &o, std::string_view tag) const
 
virtual bool toBePrinted () const
 hint whether we should print that counter or not. More...
 
std::string toString () const
 get a string representation More...
 

Static Public Attributes

static const std::string typeString { "counter" }
 

Protected Member Functions

template<typename OWNER , typename SELF , typename... CARGS>
 BufferableCounter (OWNER *o, std::string const &name, SELF &self, CARGS... args)
 

Private Attributes

Monitoring::Hubm_monitoringHub { nullptr }
 

Detailed Description

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
class Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >

An empty ancester of all counters that provides a buffer method that returns a buffer on itself Also registers the counter to its owner, with default type "counter" Due to this registration, move semantic is disabled.

But copy semantic remains.

See also
Gaudi::Accumulators for detailed documentation

Definition at line 898 of file Accumulators.h.

Member Typedef Documentation

◆ BufferType

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
using Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferType = Buffer<Accumulator, Atomicity, Args...>

Definition at line 901 of file Accumulators.h.

Constructor & Destructor Documentation

◆ BufferableCounter() [1/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( )
default

◆ BufferableCounter() [2/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
template<typename OWNER >
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( OWNER *  o,
std::string const &  name 
)
inline

Definition at line 904 of file Accumulators.h.

904 : BufferableCounter( o, name, *this ) {}

◆ BufferableCounter() [3/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( BufferableCounter< Atomicity, Accumulator, Args > const &  )
delete

◆ ~BufferableCounter()

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::~BufferableCounter ( )
inline

Definition at line 908 of file Accumulators.h.

908  {
909  if ( m_monitoringHub ) { m_monitoringHub->removeEntity( *this ); }
910  }

◆ BufferableCounter() [4/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
template<typename OWNER , typename SELF , typename... CARGS>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( OWNER *  o,
std::string const &  name,
SELF &  self,
CARGS...  args 
)
inlineprotected

Definition at line 916 of file Accumulators.h.

917  : Accumulator<Atomicity, Args...>( args... ), m_monitoringHub( &o->serviceLocator()->monitoringHub() ) {
918  m_monitoringHub->registerEntity( o->name(), name, self.typeString, self );
919  }

Member Function Documentation

◆ buffer()

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
BufferType Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::buffer ( )
inline

Definition at line 905 of file Accumulators.h.

905 { return { *this }; }

◆ operator=()

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
BufferableCounter& Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::operator= ( BufferableCounter< Atomicity, Accumulator, Args > const &  )
delete

Member Data Documentation

◆ m_monitoringHub

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Monitoring::Hub* Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::m_monitoringHub { nullptr }
private

Definition at line 922 of file Accumulators.h.

◆ typeString

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
const std::string Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::typeString { "counter" }
inlinestatic

Definition at line 912 of file Accumulators.h.


The documentation for this class was generated from the following file:
Gaudi::Accumulators::BufferableCounter::m_monitoringHub
Monitoring::Hub * m_monitoringHub
Definition: Accumulators.h:922
Gaudi::Accumulators::BufferableCounter::BufferableCounter
BufferableCounter()=default
GaudiPython.Pythonizations.self
self
Definition: Pythonizations.py:578
Gaudi::Monitoring::Hub::registerEntity
void registerEntity(std::string c, std::string n, std::string t, T &ent)
Definition: MonitoringHub.h:137
Gaudi::Monitoring::Hub::removeEntity
void removeEntity(T &ent)
Definition: MonitoringHub.h:145
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
gaudirun.args
args
Definition: gaudirun.py:336