| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | Protected Member Functions | List of all members
Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases > Class Template Reference

AccumulatorSet is an Accumulator that holds a set of Accumulators templated by same Arithmetic and Atomicity and increase them altogether. More...

`#include <GaudiKernel/Counters.h>`

Inheritance diagram for Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >:
[legend]
Collaboration diagram for Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >:
[legend]

## Public Types
using | InputType = Arithmetic
using | OutputType = std::tuple< typename Bases< Arithmetic, Atomicity >::OutputType... >

## Public Member Functions
constexpr | AccumulatorSet ()=default
AccumulatorSet & | operator+= (const InputType by)
OutputType | value () const
void | reset ()
template<atomicity Ato>
void | mergeAndReset (AccumulatorSet< Arithmetic, Ato, Bases... > &&other)

## Protected Member Functions
void | reset (const std::tuple< typename Bases< Arithmetic, Atomicity >::OutputType... > &t)

## Detailed Description

### template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>
class Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >

AccumulatorSet is an Accumulator that holds a set of Accumulators templated by same Arithmetic and Atomicity and increase them altogether.

See also
  Gaudi::Accumulators for detailed documentation

Definition at line 375 of file Counters.h.

## Member Typedef Documentation

## ◆ InputType

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

using Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::InputType = Arithmetic

Definition at line 377 of file Counters.h.

## ◆ OutputType

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

using Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::OutputType = std::tuple<typename Bases<Arithmetic, Atomicity>::OutputType...>

Definition at line 378 of file Counters.h.

## Constructor & Destructor Documentation

## ◆ AccumulatorSet()

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

constexpr Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::AccumulatorSet | ( |  | ) |
| default

## Member Function Documentation

## ◆ mergeAndReset()

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>
template<atomicity Ato>

void Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::mergeAndReset | ( | AccumulatorSet< Arithmetic, Ato, Bases... > && | other | ) |
| inline

Definition at line 387 of file Counters.h.

387 {
388 ( Bases<Arithmetic, Atomicity>::mergeAndReset( static_cast<Bases<Arithmetic, Ato>&&>( other ) ), ... );
389 }

## ◆ operator+=()

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

AccumulatorSet& Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::operator+= | ( | const InputType | by | ) |
| inline

Definition at line 380 of file Counters.h.

380 {
381 ( Bases<Arithmetic, Atomicity>::operator+=( by ), ... );
382 return *this;
383 }

## ◆ reset() [1/2]

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

void Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::reset | ( |  | ) |
| inline

Definition at line 385 of file Counters.h.

385 { ( Bases<Arithmetic, Atomicity>::reset(), ... ); }

## ◆ reset() [2/2]

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

void Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::reset | ( | const std::tuple< typename Bases< Arithmetic, Atomicity >::OutputType... > & | t | ) |
| inline protected

Definition at line 392 of file Counters.h.

392 {
393 std::apply( [this]( const auto&... i ) { ( this->Bases<Arithmetic, Atomicity>::reset( i ), ... ); }, t );
394 }

## ◆ value()

template<typename Arithmetic, atomicity Atomicity, template< typename, atomicity > class... Bases>

OutputType Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >::value | ( |  | ) | const
| inline

Definition at line 384 of file Counters.h.

384 { return std::make_tuple( Bases<Arithmetic, Atomicity>::value()... ); }
std::make_tuple
T make_tuple(T... args)

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

- GaudiKernel/GaudiKernel/Counters.h