Belle II Software development
ax_name_container_base< T2 > Struct Template Reference
Inheritance diagram for ax_name_container_base< T2 >:
ax_name_container_base_const

Classes

struct  type_wrap
 

Public Types

using type = T2
 
template<typename Data_T >
using base_t = typename decltype(struct_maker< Data_T >())::type
 

Static Public Member Functions

template<typename T >
static constexpr auto struct_maker ()
 
template<typename T >
static constexpr decltype(auto) get (T &t)
 
template<typename T >
static constexpr decltype(auto) get (const T &t)
 
template<typename T >
static constexpr decltype(auto) get_value (const T &t)
 
template<typename T >
static constexpr decltype(auto) get_value (T &t)
 
static constexpr auto get_name ()
 

Static Public Attributes

static constexpr int c_struct_maker = 0
 
static constexpr int c_getter1 = 1
 
static constexpr int c_get_name = 2
 

Detailed Description

template<typename T2>
struct nt::ax_name_container_base< T2 >

Definition at line 296 of file ntuples_full.h.

Member Typedef Documentation

◆ base_t

using base_t = typename decltype(struct_maker<Data_T>())::type

Definition at line 315 of file ntuples_full.h.

◆ type

using type = T2

Definition at line 297 of file ntuples_full.h.

Member Function Documentation

◆ get() [1/2]

static constexpr decltype(auto) get ( const T &  t)
inlinestaticconstexpr

Definition at line 325 of file ntuples_full.h.

326 {
327 using getter1 = decltype(std::declval<type>()(std::declval<type_wrap<const T&, c_getter1>>()));
328 return getter1::get(t);
329 }

◆ get() [2/2]

static constexpr decltype(auto) get ( T &  t)
inlinestaticconstexpr

Definition at line 318 of file ntuples_full.h.

319 {
320 using getter1 = decltype(std::declval<type>()(std::declval<type_wrap<T&, c_getter1>>()));
321 return getter1::get(t);
322 }

◆ get_name()

static constexpr auto get_name ( )
inlinestaticconstexpr

Definition at line 342 of file ntuples_full.h.

343 {
344 using name_getter = decltype(std::declval<type>()(std::declval<type_wrap<int, c_get_name>>()));
345 return name_getter::get_name();
346 }

◆ get_value() [1/2]

static constexpr decltype(auto) get_value ( const T &  t)
inlinestaticconstexpr

Definition at line 331 of file ntuples_full.h.

332 {
333 return ax_name_container_base::get(t).v;
334 }

◆ get_value() [2/2]

static constexpr decltype(auto) get_value ( T &  t)
inlinestaticconstexpr

Definition at line 337 of file ntuples_full.h.

338 {
339 return ax_name_container_base::get(t).v;
340 }

◆ struct_maker()

static constexpr auto struct_maker ( )
inlinestaticconstexpr

Definition at line 309 of file ntuples_full.h.

310 {
311 return decltype(std::declval<type>()(std::declval<type_wrap<T, c_struct_maker>>())) {};
312 }

Member Data Documentation

◆ c_get_name

constexpr int c_get_name = 2
staticconstexprinherited

Definition at line 292 of file ntuples_full.h.

◆ c_getter1

constexpr int c_getter1 = 1
staticconstexprinherited

Definition at line 291 of file ntuples_full.h.

◆ c_struct_maker

constexpr int c_struct_maker = 0
staticconstexprinherited

Definition at line 290 of file ntuples_full.h.


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