| The Gaudi Framework v32r1 (f65d50dc)

Static Public Member Functions | List of all members
Gaudi::Accumulators::Extremum< Arithmetic, atomicity::full, Compare, Initial > Struct Template Reference

Extremum specialization in the case of atomicity full. More...

`#include <GaudiKernel/Counters.h>`

Inheritance diagram for Gaudi::Accumulators::Extremum< Arithmetic, atomicity::full, Compare, Initial >:
[legend]
Collaboration diagram for Gaudi::Accumulators::Extremum< Arithmetic, atomicity::full, Compare, Initial >:
[legend]

## Static Public Member Functions
static constexpr OutputType | DefaultValue ()
static void | merge (InternalType &a, Arithmetic b) noexcept
Static Public Member Functions inherited from Gaudi::Accumulators::BaseValueHandler< Arithmetic, atomicity::full >
static constexpr OutputType | getValue (const InternalType &v) noexcept
static Arithmetic | exchange (InternalType &v, Arithmetic newv) noexcept

## Additional Inherited Members
Public Types inherited from Gaudi::Accumulators::BaseValueHandler< Arithmetic, atomicity::full >
using | OutputType = Arithmetic
using | InternalType = std::atomic< Arithmetic >

## Detailed Description

### template<typename Arithmetic, typename Compare, Arithmetic(*)() Initial>
struct Gaudi::Accumulators::Extremum< Arithmetic, atomicity::full, Compare, Initial >

Extremum specialization in the case of atomicity full.

Definition at line 292 of file Counters.h.

## Member Function Documentation

## ◆ DefaultValue()

template<typename Arithmetic , typename Compare , Arithmetic(*)() Initial>

static constexpr OutputType Gaudi::Accumulators::Extremum< Arithmetic, atomicity::full, Compare, Initial >::DefaultValue | ( |  | ) |
| inline static

Definition at line 295 of file Counters.h.

295 { return Initial(); }

## ◆ merge()

template<typename Arithmetic , typename Compare , Arithmetic(*)() Initial>

static void Gaudi::Accumulators::Extremum< Arithmetic, atomicity::full, Compare, Initial >::merge | ( | InternalType & | a,
|  | Arithmetic | b
| ) |  |
| inline static noexcept

Definition at line 296 of file Counters.h.

296 {
297 Arithmetic prev_value = BaseValueHandler<Arithmetic, atomicity::full>::getValue( a );
298 while ( Compare{}( b, prev_value ) && !a.compare_exchange_weak( prev_value, b ) )
299 ;
300 };
Gaudi::Accumulators::BaseValueHandler< Arithmetic, atomicity::full >::getValue
static constexpr OutputType getValue(const InternalType &v) noexcept
Definition: Counters.h:224

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

- GaudiKernel/GaudiKernel/Counters.h