The Gaudi Framework  v37r0 (b608885e)
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

IntegralAccumulatoroperator++ ()
 
IntegralAccumulator operator++ (int)
 
Arithmetic nEntries () const
 
Arithmetic sum () const
 
- Public Member Functions inherited from Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >
 GenericAccumulator ()=default
 
 GenericAccumulator (construct_empty_t, const GenericAccumulator< InputType, unsigned long, ato, Identity, Identity, VH > &)
 constructor of an empty GenericAccumulator, copying the (non existent) config from another GenericAccumulator More...
 
 GenericAccumulator (std::in_place_t, Args &&... args)
 
 GenericAccumulator (const GenericAccumulator &other)
 
GenericAccumulator operator+= (const InputType by)
 
GenericAccumulatoroperator= (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 = unsigned long
 
using OutputType = std::decay_t< std::result_of_t< Identity(unsigned long)> >
 
using InternalType = unsigned long
 
using JSONStringEntriesType = std::string
 
- Protected Member Functions inherited from Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >
 GenericAccumulator (unsigned long in)
 
void reset (unsigned long in)
 
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 603 of file Accumulators.h.

Member Function Documentation

◆ nEntries()

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

Definition at line 617 of file Accumulators.h.

617 { return this->value(); }

◆ operator++() [1/2]

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

Definition at line 608 of file Accumulators.h.

608  {
609  ( *this ) += 1;
610  return *this;
611  }

◆ operator++() [2/2]

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

Definition at line 612 of file Accumulators.h.

612  {
613  auto copy = *this;
614  ++( *this );
615  return copy;
616  }

◆ sum()

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

Definition at line 618 of file Accumulators.h.

618 { return this->value(); }

The documentation for this struct was generated from the following file:
std::copy
T copy(T... args)
Gaudi::Accumulators::GenericAccumulator< unsigned long, unsigned long, Atomicity, Identity >::value
OutputType value() const
Definition: Accumulators.h:464