Project
Loading...
Searching...
No Matches
StructToTuple.h File Reference
#include <Framework/Traits.h>
#include <array>

Go to the source code of this file.

Classes

struct  o2::framework::any_type
 
struct  o2::framework::is_braces_constructible< T, Args >
 
struct  o2::framework::UniversalType
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::framework
 Defining PrimaryVertex explicitly as messageable.
 

Macros

#define DPL_REPEAT_0(x)
 
#define DPL_REPEAT_1(x)   x
 
#define DPL_REPEAT_2(x)   x, x
 
#define DPL_REPEAT_3(x)   x, x, x
 
#define DPL_REPEAT_4(x)   x, x, x, x
 
#define DPL_REPEAT_5(x)   x, x, x, x, x
 
#define DPL_REPEAT_6(x)   x, x, x, x, x, x
 
#define DPL_REPEAT_7(x)   x, x, x, x, x, x, x
 
#define DPL_REPEAT_8(x)   x, x, x, x, x, x, x, x
 
#define DPL_REPEAT_9(x)   x, x, x, x, x, x, x, x, x
 
#define DPL_REPEAT_10(x)   x, x, x, x, x, x, x, x, x, x
 
#define DPL_REPEAT(x, d, u)   DPL_REPEAT_##d(DPL_REPEAT_10(x)), DPL_REPEAT_##u(x)
 
#define DPL_ENUM_0(pre, post)
 
#define DPL_ENUM_1(pre, post)   pre##0##post
 
#define DPL_ENUM_2(pre, post)   pre##0##post, pre##1##post
 
#define DPL_ENUM_3(pre, post)   pre##0##post, pre##1##post, pre##2##post
 
#define DPL_ENUM_4(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post
 
#define DPL_ENUM_5(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post
 
#define DPL_ENUM_6(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post
 
#define DPL_ENUM_7(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post
 
#define DPL_ENUM_8(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post, pre##7##post
 
#define DPL_ENUM_9(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post, pre##7##post, pre##8##post
 
#define DPL_ENUM_10(pre, post)   pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post, pre##7##post, pre##8##post, pre##9##post
 
#define DPL_ENUM_20(pre, post)   DPL_ENUM_10(pre, post), DPL_ENUM_10(pre##1, post)
 
#define DPL_ENUM_30(pre, post)   DPL_ENUM_20(pre, post), DPL_ENUM_10(pre##2, post)
 
#define DPL_ENUM_40(pre, post)   DPL_ENUM_30(pre, post), DPL_ENUM_10(pre##3, post)
 
#define DPL_ENUM_50(pre, post)   DPL_ENUM_40(pre, post), DPL_ENUM_10(pre##4, post)
 
#define DPL_ENUM_60(pre, post)   DPL_ENUM_50(pre, post), DPL_ENUM_10(pre##5, post)
 
#define DPL_ENUM_70(pre, post)   DPL_ENUM_60(pre, post), DPL_ENUM_10(pre##6, post)
 
#define DPL_ENUM_80(pre, post)   DPL_ENUM_70(pre, post), DPL_ENUM_10(pre##7, post)
 
#define DPL_ENUM_90(pre, post)   DPL_ENUM_80(pre, post), DPL_ENUM_10(pre##8, post)
 
#define DPL_ENUM_100(pre, post)   DPL_ENUM_90(pre, post), DPL_ENUM_10(pre##9, post)
 
#define DPL_ENUM(pre, post, d, u)   DPL_ENUM_##d##0(pre, post), DPL_ENUM_##u(pre##d, post)
 
#define DPL_FENUM_0(f, pre, post)
 
#define DPL_FENUM_1(f, pre, post)   f(pre##0##post)
 
#define DPL_FENUM_2(f, pre, post)   f(pre##0##post), f(pre##1##post)
 
#define DPL_FENUM_3(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post)
 
#define DPL_FENUM_4(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post)
 
#define DPL_FENUM_5(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post)
 
#define DPL_FENUM_6(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post)
 
#define DPL_FENUM_7(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post)
 
#define DPL_FENUM_8(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post), f(pre##7##post)
 
#define DPL_FENUM_9(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post), f(pre##7##post), f(pre##8##post)
 
#define DPL_FENUM_10(f, pre, post)   f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post), f(pre##7##post), f(pre##8##post), f(pre##9##post)
 
#define DPL_FENUM_20(f, pre, post)   DPL_FENUM_10(f, pre, post), DPL_FENUM_10(f, pre##1, post)
 
#define DPL_FENUM_30(f, pre, post)   DPL_FENUM_20(f, pre, post), DPL_FENUM_10(f, pre##2, post)
 
#define DPL_FENUM_40(f, pre, post)   DPL_FENUM_30(f, pre, post), DPL_FENUM_10(f, pre##3, post)
 
#define DPL_FENUM_50(f, pre, post)   DPL_FENUM_40(f, pre, post), DPL_FENUM_10(f, pre##4, post)
 
#define DPL_FENUM_60(f, pre, post)   DPL_FENUM_50(f, pre, post), DPL_FENUM_10(f, pre##5, post)
 
#define DPL_FENUM_70(f, pre, post)   DPL_FENUM_60(f, pre, post), DPL_FENUM_10(f, pre##6, post)
 
#define DPL_FENUM_80(f, pre, post)   DPL_FENUM_70(f, pre, post), DPL_FENUM_10(f, pre##7, post)
 
#define DPL_FENUM_90(f, pre, post)   DPL_FENUM_80(f, pre, post), DPL_FENUM_10(f, pre##8, post)
 
#define DPL_FENUM_100(f, pre, post)   DPL_FENUM_90(f, pre, post), DPL_FENUM_10(f, pre##9, post)
 
#define DPL_FENUM(f, pre, post, d, u)   DPL_FENUM_##d##0(f, pre, post), DPL_FENUM_##u(f, pre##d, post)
 
#define DPL_10_As   DPL_REPEAT_10(A)
 
#define DPL_20_As   DPL_10_As, DPL_10_As
 
#define DPL_30_As   DPL_20_As, DPL_10_As
 
#define DPL_40_As   DPL_30_As, DPL_10_As
 
#define DPL_50_As   DPL_40_As, DPL_10_As
 
#define DPL_60_As   DPL_50_As, DPL_10_As
 
#define DPL_70_As   DPL_60_As, DPL_10_As
 
#define DPL_80_As   DPL_70_As, DPL_10_As
 
#define DPL_90_As   DPL_80_As, DPL_10_As
 
#define DPL_100_As   DPL_90_As, DPL_10_As
 
#define DPL_0_9(pre, po)   pre##0##po, pre##1##po, pre##2##po, pre##3##po, pre##4##po, pre##5##po, pre##6##po, pre##7##po, pre##8##po, pre##9##po
 
#define BRACE_CONSTRUCTIBLE_ENTRY_LOW(u)
 
#define BRACE_CONSTRUCTIBLE_ENTRY(d, u)
 
#define BRACE_CONSTRUCTIBLE_ENTRY_TENS(d)
 
#define DPL_HOMOGENEOUS_APPLY_ENTRY_LOW(u)
 
#define DPL_HOMOGENEOUS_APPLY_ENTRY(d, u)
 
#define DPL_HOMOGENEOUS_APPLY_ENTRY_TENS(d)
 

Functions

template<typename T >
consteval auto o2::framework::brace_constructible_size (auto... Members)
 
template<bool B, typename T >
consteval int o2::framework::nested_brace_constructible_size ()
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 9)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 8)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 7)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 6)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 5)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 4)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 3)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 2)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 1)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 
template<bool B = false, typename L , class T , int D = nested_brace_constructible_size<B, T>() / 10>
requires (D == 0)
auto o2::framework::homogeneous_apply_refs (L l, T &&object)
 

Macro Definition Documentation

◆ BRACE_CONSTRUCTIBLE_ENTRY

#define BRACE_CONSTRUCTIBLE_ENTRY (   d,
 
)
Value:
constexpr(is_braces_constructible<type, DPL_REPEAT(A, d, u)>{}) \
{ \
return d##u; \
}
#define DPL_REPEAT(x, d, u)
Definition A.h:16
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275

Definition at line 118 of file StructToTuple.h.

◆ BRACE_CONSTRUCTIBLE_ENTRY_LOW

#define BRACE_CONSTRUCTIBLE_ENTRY_LOW (   u)
Value:
constexpr(is_braces_constructible<type, DPL_REPEAT_##u(A)>{}) \
{ \
return u; \
}

Definition at line 113 of file StructToTuple.h.

◆ BRACE_CONSTRUCTIBLE_ENTRY_TENS

#define BRACE_CONSTRUCTIBLE_ENTRY_TENS (   d)
Value:
constexpr(is_braces_constructible<type, DPL_##d##0_As>{}) \
{ \
return d##0; \
}

Definition at line 124 of file StructToTuple.h.

◆ DPL_0_9

#define DPL_0_9 (   pre,
  po 
)    pre##0##po, pre##1##po, pre##2##po, pre##3##po, pre##4##po, pre##5##po, pre##6##po, pre##7##po, pre##8##po, pre##9##po

Definition at line 111 of file StructToTuple.h.

◆ DPL_100_As

#define DPL_100_As   DPL_90_As, DPL_10_As

Definition at line 109 of file StructToTuple.h.

◆ DPL_10_As

#define DPL_10_As   DPL_REPEAT_10(A)

Definition at line 100 of file StructToTuple.h.

◆ DPL_20_As

#define DPL_20_As   DPL_10_As, DPL_10_As

Definition at line 101 of file StructToTuple.h.

◆ DPL_30_As

#define DPL_30_As   DPL_20_As, DPL_10_As

Definition at line 102 of file StructToTuple.h.

◆ DPL_40_As

#define DPL_40_As   DPL_30_As, DPL_10_As

Definition at line 103 of file StructToTuple.h.

◆ DPL_50_As

#define DPL_50_As   DPL_40_As, DPL_10_As

Definition at line 104 of file StructToTuple.h.

◆ DPL_60_As

#define DPL_60_As   DPL_50_As, DPL_10_As

Definition at line 105 of file StructToTuple.h.

◆ DPL_70_As

#define DPL_70_As   DPL_60_As, DPL_10_As

Definition at line 106 of file StructToTuple.h.

◆ DPL_80_As

#define DPL_80_As   DPL_70_As, DPL_10_As

Definition at line 107 of file StructToTuple.h.

◆ DPL_90_As

#define DPL_90_As   DPL_80_As, DPL_10_As

Definition at line 108 of file StructToTuple.h.

◆ DPL_ENUM

#define DPL_ENUM (   pre,
  post,
  d,
 
)    DPL_ENUM_##d##0(pre, post), DPL_ENUM_##u(pre##d, post)

Definition at line 74 of file StructToTuple.h.

◆ DPL_ENUM_0

#define DPL_ENUM_0 (   pre,
  post 
)

Definition at line 52 of file StructToTuple.h.

◆ DPL_ENUM_1

#define DPL_ENUM_1 (   pre,
  post 
)    pre##0##post

Definition at line 53 of file StructToTuple.h.

◆ DPL_ENUM_10

#define DPL_ENUM_10 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post, pre##7##post, pre##8##post, pre##9##post

Definition at line 62 of file StructToTuple.h.

◆ DPL_ENUM_100

#define DPL_ENUM_100 (   pre,
  post 
)    DPL_ENUM_90(pre, post), DPL_ENUM_10(pre##9, post)

Definition at line 72 of file StructToTuple.h.

◆ DPL_ENUM_2

#define DPL_ENUM_2 (   pre,
  post 
)    pre##0##post, pre##1##post

Definition at line 54 of file StructToTuple.h.

◆ DPL_ENUM_20

#define DPL_ENUM_20 (   pre,
  post 
)    DPL_ENUM_10(pre, post), DPL_ENUM_10(pre##1, post)

Definition at line 64 of file StructToTuple.h.

◆ DPL_ENUM_3

#define DPL_ENUM_3 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post

Definition at line 55 of file StructToTuple.h.

◆ DPL_ENUM_30

#define DPL_ENUM_30 (   pre,
  post 
)    DPL_ENUM_20(pre, post), DPL_ENUM_10(pre##2, post)

Definition at line 65 of file StructToTuple.h.

◆ DPL_ENUM_4

#define DPL_ENUM_4 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post

Definition at line 56 of file StructToTuple.h.

◆ DPL_ENUM_40

#define DPL_ENUM_40 (   pre,
  post 
)    DPL_ENUM_30(pre, post), DPL_ENUM_10(pre##3, post)

Definition at line 66 of file StructToTuple.h.

◆ DPL_ENUM_5

#define DPL_ENUM_5 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post

Definition at line 57 of file StructToTuple.h.

◆ DPL_ENUM_50

#define DPL_ENUM_50 (   pre,
  post 
)    DPL_ENUM_40(pre, post), DPL_ENUM_10(pre##4, post)

Definition at line 67 of file StructToTuple.h.

◆ DPL_ENUM_6

#define DPL_ENUM_6 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post

Definition at line 58 of file StructToTuple.h.

◆ DPL_ENUM_60

#define DPL_ENUM_60 (   pre,
  post 
)    DPL_ENUM_50(pre, post), DPL_ENUM_10(pre##5, post)

Definition at line 68 of file StructToTuple.h.

◆ DPL_ENUM_7

#define DPL_ENUM_7 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post

Definition at line 59 of file StructToTuple.h.

◆ DPL_ENUM_70

#define DPL_ENUM_70 (   pre,
  post 
)    DPL_ENUM_60(pre, post), DPL_ENUM_10(pre##6, post)

Definition at line 69 of file StructToTuple.h.

◆ DPL_ENUM_8

#define DPL_ENUM_8 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post, pre##7##post

Definition at line 60 of file StructToTuple.h.

◆ DPL_ENUM_80

#define DPL_ENUM_80 (   pre,
  post 
)    DPL_ENUM_70(pre, post), DPL_ENUM_10(pre##7, post)

Definition at line 70 of file StructToTuple.h.

◆ DPL_ENUM_9

#define DPL_ENUM_9 (   pre,
  post 
)    pre##0##post, pre##1##post, pre##2##post, pre##3##post, pre##4##post, pre##5##post, pre##6##post, pre##7##post, pre##8##post

Definition at line 61 of file StructToTuple.h.

◆ DPL_ENUM_90

#define DPL_ENUM_90 (   pre,
  post 
)    DPL_ENUM_80(pre, post), DPL_ENUM_10(pre##8, post)

Definition at line 71 of file StructToTuple.h.

◆ DPL_FENUM

#define DPL_FENUM (   f,
  pre,
  post,
  d,
 
)    DPL_FENUM_##d##0(f, pre, post), DPL_FENUM_##u(f, pre##d, post)

Definition at line 98 of file StructToTuple.h.

◆ DPL_FENUM_0

#define DPL_FENUM_0 (   f,
  pre,
  post 
)

Definition at line 76 of file StructToTuple.h.

◆ DPL_FENUM_1

#define DPL_FENUM_1 (   f,
  pre,
  post 
)    f(pre##0##post)

Definition at line 77 of file StructToTuple.h.

◆ DPL_FENUM_10

#define DPL_FENUM_10 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post), f(pre##7##post), f(pre##8##post), f(pre##9##post)

Definition at line 86 of file StructToTuple.h.

◆ DPL_FENUM_100

#define DPL_FENUM_100 (   f,
  pre,
  post 
)    DPL_FENUM_90(f, pre, post), DPL_FENUM_10(f, pre##9, post)

Definition at line 96 of file StructToTuple.h.

◆ DPL_FENUM_2

#define DPL_FENUM_2 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post)

Definition at line 78 of file StructToTuple.h.

◆ DPL_FENUM_20

#define DPL_FENUM_20 (   f,
  pre,
  post 
)    DPL_FENUM_10(f, pre, post), DPL_FENUM_10(f, pre##1, post)

Definition at line 88 of file StructToTuple.h.

◆ DPL_FENUM_3

#define DPL_FENUM_3 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post)

Definition at line 79 of file StructToTuple.h.

◆ DPL_FENUM_30

#define DPL_FENUM_30 (   f,
  pre,
  post 
)    DPL_FENUM_20(f, pre, post), DPL_FENUM_10(f, pre##2, post)

Definition at line 89 of file StructToTuple.h.

◆ DPL_FENUM_4

#define DPL_FENUM_4 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post)

Definition at line 80 of file StructToTuple.h.

◆ DPL_FENUM_40

#define DPL_FENUM_40 (   f,
  pre,
  post 
)    DPL_FENUM_30(f, pre, post), DPL_FENUM_10(f, pre##3, post)

Definition at line 90 of file StructToTuple.h.

◆ DPL_FENUM_5

#define DPL_FENUM_5 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post)

Definition at line 81 of file StructToTuple.h.

◆ DPL_FENUM_50

#define DPL_FENUM_50 (   f,
  pre,
  post 
)    DPL_FENUM_40(f, pre, post), DPL_FENUM_10(f, pre##4, post)

Definition at line 91 of file StructToTuple.h.

◆ DPL_FENUM_6

#define DPL_FENUM_6 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post)

Definition at line 82 of file StructToTuple.h.

◆ DPL_FENUM_60

#define DPL_FENUM_60 (   f,
  pre,
  post 
)    DPL_FENUM_50(f, pre, post), DPL_FENUM_10(f, pre##5, post)

Definition at line 92 of file StructToTuple.h.

◆ DPL_FENUM_7

#define DPL_FENUM_7 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post)

Definition at line 83 of file StructToTuple.h.

◆ DPL_FENUM_70

#define DPL_FENUM_70 (   f,
  pre,
  post 
)    DPL_FENUM_60(f, pre, post), DPL_FENUM_10(f, pre##6, post)

Definition at line 93 of file StructToTuple.h.

◆ DPL_FENUM_8

#define DPL_FENUM_8 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post), f(pre##7##post)

Definition at line 84 of file StructToTuple.h.

◆ DPL_FENUM_80

#define DPL_FENUM_80 (   f,
  pre,
  post 
)    DPL_FENUM_70(f, pre, post), DPL_FENUM_10(f, pre##7, post)

Definition at line 94 of file StructToTuple.h.

◆ DPL_FENUM_9

#define DPL_FENUM_9 (   f,
  pre,
  post 
)    f(pre##0##post), f(pre##1##post), f(pre##2##post), f(pre##3##post), f(pre##4##post), f(pre##5##post), f(pre##6##post), f(pre##7##post), f(pre##8##post)

Definition at line 85 of file StructToTuple.h.

◆ DPL_FENUM_90

#define DPL_FENUM_90 (   f,
  pre,
  post 
)    DPL_FENUM_80(f, pre, post), DPL_FENUM_10(f, pre##8, post)

Definition at line 95 of file StructToTuple.h.

◆ DPL_HOMOGENEOUS_APPLY_ENTRY

#define DPL_HOMOGENEOUS_APPLY_ENTRY (   d,
 
)
Value:
constexpr(numElements == d##u) \
{ \
auto&& [DPL_ENUM(p, , d, u)] = object; \
return std::array<decltype(l(p0)), d##u>{DPL_FENUM(l, p, , d, u)}; \
}
#define DPL_ENUM(pre, post, d, u)
#define DPL_FENUM(f, pre, post, d, u)
GLuint object
Definition glcorearb.h:4041

Definition at line 155 of file StructToTuple.h.

◆ DPL_HOMOGENEOUS_APPLY_ENTRY_LOW

#define DPL_HOMOGENEOUS_APPLY_ENTRY_LOW (   u)
Value:
constexpr(numElements == u) \
{ \
auto&& [DPL_ENUM_##u(p, )] = object; \
return std::array<decltype(l(p0)), u>{DPL_FENUM_##u(l, p, )}; \
}

Definition at line 148 of file StructToTuple.h.

◆ DPL_HOMOGENEOUS_APPLY_ENTRY_TENS

#define DPL_HOMOGENEOUS_APPLY_ENTRY_TENS (   d)
Value:
constexpr(numElements == d##0) \
{ \
auto&& [DPL_ENUM_##d##0(p, )] = object; \
return std::array<decltype(l(p0)), d##0>{DPL_FENUM_##d##0(l, p, )}; \
}

Definition at line 162 of file StructToTuple.h.

◆ DPL_REPEAT

#define DPL_REPEAT (   x,
  d,
 
)    DPL_REPEAT_##d(DPL_REPEAT_10(x)), DPL_REPEAT_##u(x)

Definition at line 50 of file StructToTuple.h.

◆ DPL_REPEAT_0

#define DPL_REPEAT_0 (   x)

Definition at line 39 of file StructToTuple.h.

◆ DPL_REPEAT_1

#define DPL_REPEAT_1 (   x)    x

Definition at line 40 of file StructToTuple.h.

◆ DPL_REPEAT_10

#define DPL_REPEAT_10 (   x)    x, x, x, x, x, x, x, x, x, x

Definition at line 49 of file StructToTuple.h.

◆ DPL_REPEAT_2

#define DPL_REPEAT_2 (   x)    x, x

Definition at line 41 of file StructToTuple.h.

◆ DPL_REPEAT_3

#define DPL_REPEAT_3 (   x)    x, x, x

Definition at line 42 of file StructToTuple.h.

◆ DPL_REPEAT_4

#define DPL_REPEAT_4 (   x)    x, x, x, x

Definition at line 43 of file StructToTuple.h.

◆ DPL_REPEAT_5

#define DPL_REPEAT_5 (   x)    x, x, x, x, x

Definition at line 44 of file StructToTuple.h.

◆ DPL_REPEAT_6

#define DPL_REPEAT_6 (   x)    x, x, x, x, x, x

Definition at line 45 of file StructToTuple.h.

◆ DPL_REPEAT_7

#define DPL_REPEAT_7 (   x)    x, x, x, x, x, x, x

Definition at line 46 of file StructToTuple.h.

◆ DPL_REPEAT_8

#define DPL_REPEAT_8 (   x)    x, x, x, x, x, x, x, x

Definition at line 47 of file StructToTuple.h.

◆ DPL_REPEAT_9

#define DPL_REPEAT_9 (   x)    x, x, x, x, x, x, x, x, x

Definition at line 48 of file StructToTuple.h.