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 384 of file ntuples_full.h.

Member Typedef Documentation

◆ base_t

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

Definition at line 403 of file ntuples_full.h.

◆ type

using type = T2

Definition at line 385 of file ntuples_full.h.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 413 of file ntuples_full.h.

414 {
415 using getter1 = decltype(std::declval<type>()(std::declval<type_wrap<const T&, c_getter1>>()));
416 return getter1::get(t);
417 }

◆ get() [2/2]

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

Definition at line 406 of file ntuples_full.h.

407 {
408 using getter1 = decltype(std::declval<type>()(std::declval<type_wrap<T&, c_getter1>>()));
409 return getter1::get(t);
410 }

◆ get_name()

static constexpr auto get_name ( )
inlinestaticconstexpr

Definition at line 430 of file ntuples_full.h.

431 {
432 using name_getter = decltype(std::declval<type>()(std::declval<type_wrap<int, c_get_name>>()));
433 return name_getter::get_name();
434 }

◆ get_value() [1/2]

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

Definition at line 419 of file ntuples_full.h.

420 {
421 return ax_name_container_base::get(t).v;
422 }

◆ get_value() [2/2]

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

Definition at line 425 of file ntuples_full.h.

426 {
427 return ax_name_container_base::get(t).v;
428 }

◆ struct_maker()

static constexpr auto struct_maker ( )
inlinestaticconstexpr

Definition at line 397 of file ntuples_full.h.

398 {
399 return decltype(std::declval<type>()(std::declval<type_wrap<T, c_struct_maker>>())) {};
400 }

Member Data Documentation

◆ c_get_name

constexpr int c_get_name = 2
staticconstexprinherited

Definition at line 380 of file ntuples_full.h.

◆ c_getter1

constexpr int c_getter1 = 1
staticconstexprinherited

Definition at line 379 of file ntuples_full.h.

◆ c_struct_maker

constexpr int c_struct_maker = 0
staticconstexprinherited

Definition at line 378 of file ntuples_full.h.


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