|
| GenericAccumulator | operator+= (const InputType by) |
| |
| | GenericAccumulator ()=default |
| |
| template<atomicity ato, typename VH > |
| | GenericAccumulator (construct_empty_t, const GenericAccumulator< InputType, InnerType, ato, InputTransform, OutputTransform, VH > &) |
| | constructor of an empty GenericAccumulator, copying the (non existent) config from another GenericAccumulator More...
|
| |
| template<typename... Args> |
| | GenericAccumulator (std::in_place_t, Args &&... args) |
| |
| | GenericAccumulator (const GenericAccumulator &other) |
| |
| GenericAccumulator & | operator= (const GenericAccumulator &other) |
| |
| OutputType | value () const |
| |
| void | reset () |
| |
| template<atomicity ato, typename VH > |
| void | mergeAndReset (GenericAccumulator< InputType, InnerType, ato, InputTransform, OutputTransform, VH > &other) |
| |
| template<atomicity ato, typename VH > |
| void | operator+ (GenericAccumulator< InputType, InnerType, ato, InputTransform, OutputTransform, VH > &&other) |
| |
template<typename InputTypeT, typename InnerType, atomicity Atomicity = atomicity::full, typename InputTransform = Identity, typename OutputTransform = Identity, typename ValueHandler = Adder<InnerType, Atomicity>>
class Gaudi::Accumulators::GenericAccumulator< InputTypeT, InnerType, Atomicity, InputTransform, OutputTransform, ValueHandler >
Generic Accumulator, templated by.
- InputType : the type of input data coming to this Accumulator
- InnerType : the type of the accumulated value. May be different from InputType, e.g. for a pure counter where InputType is double and InnerType is unsigned long
- Atomicity : the desired atomicity : none or full
- InputTransform : a function to be applied to the values pushed in
- default to identity
- other typical functions : square for a sumn of squares, constant 1 for a count
- OutputTransform : a function to be applied to returned value
- default to identity
- one could think of sqrt for and RMS accumulator, InputTransform begin square
- ValueHandler : the handler of the internal value, that is a functor providing :
- the way to increment the internal value (e.g. +, min, max) as the operator()
- the type of the internal value (typically Arithmetic or std::atomic<Arithmetic>)
- the default value for the internal type
Definition at line 434 of file Accumulators.h.
template<typename InputTypeT , typename InnerType , atomicity Atomicity = atomicity::full, typename InputTransform = Identity, typename OutputTransform = Identity, typename ValueHandler = Adder<InnerType, Atomicity>>
template<atomicity ato, typename VH >
| Gaudi::Accumulators::GenericAccumulator< InputTypeT, InnerType, Atomicity, InputTransform, OutputTransform, ValueHandler >::GenericAccumulator |
( |
construct_empty_t |
, |
|
|
const GenericAccumulator< InputType, InnerType, ato, InputTransform, OutputTransform, VH > & |
|
|
) |
| |
|
inline |
template<typename InputTypeT , typename InnerType , atomicity Atomicity = atomicity::full, typename InputTransform = Identity, typename OutputTransform = Identity, typename ValueHandler = Adder<InnerType, Atomicity>>
template<typename... Args>
template<typename InputTypeT , typename InnerType , atomicity Atomicity = atomicity::full, typename InputTransform = Identity, typename OutputTransform = Identity, typename ValueHandler = Adder<InnerType, Atomicity>>
template<atomicity ato, typename VH >
| void Gaudi::Accumulators::GenericAccumulator< InputTypeT, InnerType, Atomicity, InputTransform, OutputTransform, ValueHandler >::mergeAndReset |
( |
GenericAccumulator< InputType, InnerType, ato, InputTransform, OutputTransform, VH > & |
other | ) |
|
|
inline |
template<typename InputTypeT , typename InnerType , atomicity Atomicity = atomicity::full, typename InputTransform = Identity, typename OutputTransform = Identity, typename ValueHandler = Adder<InnerType, Atomicity>>
template<atomicity ato, typename VH >
| void Gaudi::Accumulators::GenericAccumulator< InputTypeT, InnerType, Atomicity, InputTransform, OutputTransform, ValueHandler >::operator+ |
( |
GenericAccumulator< InputType, InnerType, ato, InputTransform, OutputTransform, VH > && |
other | ) |
|
|
inline |
template<typename InputTypeT , typename InnerType , atomicity Atomicity = atomicity::full, typename InputTransform = Identity, typename OutputTransform = Identity, typename ValueHandler = Adder<InnerType, Atomicity>>
template<typename , typename , atomicity , typename , typename , typename >