The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Accumulators::details::CounterArrayInternal< Counter, N > Struct Template Reference

internal class implementing an array of counters More...

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

Inheritance diagram for Gaudi::Accumulators::details::CounterArrayInternal< Counter, N >:
Collaboration diagram for Gaudi::Accumulators::details::CounterArrayInternal< Counter, N >:

Public Member Functions

template<typename OWNER, std::invocable< int > FormatName, std::size_t... Ns>
 CounterArrayInternal (OWNER *owner, FormatName &&fname, std::integer_sequence< std::size_t, Ns... >)
 constructor with callables for FormatName
template<typename OWNER, std::size_t... Ns>
 CounterArrayInternal (OWNER *owner, std::string_view name, std::integer_sequence< std::size_t, Ns... >)
 constructor for strings, FormatCounterDefault is used as the default callable
template<std::size_t... Ns>
auto buffer (std::integer_sequence< std::size_t, Ns... >)
 Method to form an array of buffers.

Detailed Description

template<typename Counter, std::size_t N>
struct Gaudi::Accumulators::details::CounterArrayInternal< Counter, N >

internal class implementing an array of counters

See also
CounterArray

Definition at line 37 of file CounterArray.h.

Constructor & Destructor Documentation

◆ CounterArrayInternal() [1/2]

template<typename Counter, std::size_t N>
template<typename OWNER, std::invocable< int > FormatName, std::size_t... Ns>
Gaudi::Accumulators::details::CounterArrayInternal< Counter, N >::CounterArrayInternal ( OWNER * owner,
FormatName && fname,
std::integer_sequence< std::size_t, Ns... >  )
inline

constructor with callables for FormatName

Definition at line 40 of file CounterArray.h.

42 static_assert( sizeof...( Ns ) < 1000, "Using CounterArray with 1000 arrays or more is prohibited. This "
43 "would lead to very long compilation times" );
44 }
internal class implementing an array of counters

◆ CounterArrayInternal() [2/2]

template<typename Counter, std::size_t N>
template<typename OWNER, std::size_t... Ns>
Gaudi::Accumulators::details::CounterArrayInternal< Counter, N >::CounterArrayInternal ( OWNER * owner,
std::string_view name,
std::integer_sequence< std::size_t, Ns... >  )
inline

constructor for strings, FormatCounterDefault is used as the default callable

Definition at line 47 of file CounterArray.h.

49 static_assert( sizeof...( Ns ) < 1000, "Using CounterArray with 1000 arrays or more is prohibited. This "
50 "would lead to very long compilation times" );
51 }

Member Function Documentation

◆ buffer()

template<typename Counter, std::size_t N>
template<std::size_t... Ns>
auto Gaudi::Accumulators::details::CounterArrayInternal< Counter, N >::buffer ( std::integer_sequence< std::size_t, Ns... > )
inline

Method to form an array of buffers.

Definition at line 54 of file CounterArray.h.

54 {
55 return std::array{ ( *this )[Ns].buffer()... };
56 }

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