The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic > Struct Template Reference

IntegralAccumulator. More...

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

Inheritance diagram for Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >:
Collaboration diagram for Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >:

Public Member Functions

IntegralAccumulator & operator++ ()
IntegralAccumulator operator++ (int)
Arithmetic nEntries () const
Arithmetic sum () const
Public Member Functions inherited from Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >
GenericAccumulator operator+= (const InputType by)
GenericAccumulator & operator= (const GenericAccumulator &other)
OutputType value () const
void reset ()
void mergeAndReset (GenericAccumulator< InputType, unsigned long, ato, Identity, Identity, VH > &other)
void operator+ (GenericAccumulator< InputType, unsigned long, ato, Identity, Identity, VH > &&other)

Additional Inherited Members

Public Types inherited from Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >
using InputType
using OutputType
using InternalType
using JSONStringEntriesType
Protected Member Functions inherited from Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >
auto rawValue () const
Static Protected Member Functions inherited from Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >
static unsigned long extractJSONData (const nlohmann::json &j, const JSONStringEntriesType &entries)

Detailed Description

template<atomicity Atomicity, typename Arithmetic = unsigned long>
struct Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >

IntegralAccumulator.

An IntegralAccumulator is an Accumulator with an integral storage (unsigned long, int, ...) that can be incremented via operator++ and operator+=.

See also
Gaudi::Accumulators for detailed documentation

Definition at line 659 of file Accumulators.h.

Member Function Documentation

◆ nEntries()

template<atomicity Atomicity, typename Arithmetic = unsigned long>
Arithmetic Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >::nEntries ( ) const
inline

◆ operator++() [1/2]

template<atomicity Atomicity, typename Arithmetic = unsigned long>
IntegralAccumulator & Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >::operator++ ( )
inline

Definition at line 664 of file Accumulators.h.

664 {
665 ( *this ) += 1;
666 return *this;
667 }

◆ operator++() [2/2]

template<atomicity Atomicity, typename Arithmetic = unsigned long>
IntegralAccumulator Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >::operator++ ( int )
inline

Definition at line 668 of file Accumulators.h.

668 {
669 auto copy = *this;
670 ++( *this );
671 return copy;
672 }

◆ sum()

template<atomicity Atomicity, typename Arithmetic = unsigned long>
Arithmetic Gaudi::Accumulators::IntegralAccumulator< Atomicity, Arithmetic >::sum ( ) const
inline

Definition at line 674 of file Accumulators.h.

674{ return this->value(); }

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