The Gaudi Framework  v37r0 (b608885e)
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 , typename FormatName , std::size_t... Ns, typename = typename std::enable_if_t<std::is_invocable_v<FormatName, int>>>
 CounterArrayInternal (OWNER *owner, FormatName &&fname, std::integer_sequence< std::size_t, Ns... >)
 constructor with callables for FormatName More...
 
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 More...
 
- Public Member Functions inherited from std::array< Counter, N >
Counter max_size (Counter ... args)
 
Counter rbegin (Counter ... args)
 
Counter crend (Counter ... args)
 
Counter crbegin (Counter ... args)
 
Counter swap (Counter ... args)
 
Counter data (Counter ... args)
 
Counter back (Counter ... args)
 
Counter end (Counter ... args)
 
Counter fill (Counter ... args)
 
Counter empty (Counter ... args)
 
Counter cend (Counter ... args)
 
Counter size (Counter ... args)
 
Counter cbegin (Counter ... args)
 
Counter rend (Counter ... args)
 
Counter front (Counter ... args)
 
Counter at (Counter ... args)
 
Counter operator[] (Counter ... args)
 
Counter begin (Counter ... args)
 

Additional Inherited Members

- Public Attributes inherited from std::array< Counter, N >
Counter elements
 STL member. More...
 

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 35 of file CounterArray.h.

Constructor & Destructor Documentation

◆ CounterArrayInternal() [1/2]

template<typename Counter , std::size_t N>
template<typename OWNER , typename FormatName , std::size_t... Ns, typename = typename std::enable_if_t<std::is_invocable_v<FormatName, int>>>
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 39 of file CounterArray.h.

40  : std::array<Counter, N>{ Counter{ owner, fname( Ns ) }... } {
41  static_assert( sizeof...( Ns ) < 1000, "Using CounterArray with 1000 arrays or more is prohibited. This "
42  "would lead to very long compilation times" );
43  }

◆ 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 46 of file CounterArray.h.

47  : std::array<Counter, N>{ Counter{ owner, FormatCounterDefault{ name }( Ns ) }... } {
48  static_assert( sizeof...( Ns ) < 1000, "Using CounterArray with 1000 arrays or more is prohibited. This "
49  "would lead to very long compilation times" );
50  }

The documentation for this struct was generated from the following file:
bug_34121.name
name
Definition: bug_34121.py:20
std::array< Counter, N >