The Gaudi Framework  master (e68eea06)
Loading...
Searching...
No Matches
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
 
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
 
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
 
virtual MsgStreamprint (MsgStream &o, std::string_view tag) const
 
virtual bool toBePrinted () const
 hint whether we should print that counter or not.
 
std::string toString () const
 get a string representation
 

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 ) {}
An empty ancester of all counters that provides a buffer method that returns a buffer on itself Also ...

◆ 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 }
static const std::string typeString

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.

922{ nullptr };

◆ 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.

912{ "counter" };

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