Belle II Software development
ntuple< T > Struct Template Reference
Inheritance diagram for ntuple< T >:

Public Member Functions

constexpr ntuple (const ntuple &rhs)=default
 
constexpr ntupleoperator= (const ntuple &rhs)=default
 
constexpr ntupleoperator= (ntuple &&rhs)=default
 
constexpr ntuple (const T &...t1)
 
template<typename... Ts, typename = std::enable_if_t < (sizeof...(Ts) != 1) >>
constexpr ntuple (Ts &&...t1)
 
template<typename T2>
decltype(auto) operator[] (const ax_name_container< T2 > &t)
 
template<typename... ARGS>
auto operator| (const ntuple< ARGS... > &rhs) const
 

Static Public Attributes

static constexpr std::size_t __size__ = sizeof...(T)
 

Friends

std::ostream & operator<< (std::ostream &out, const ntuple &self)
 
constexpr bool operator< (const ntuple &lhs, const ntuple &rhs)
 

Detailed Description

template<typename... T>
struct nt::ntuple< T >

Definition at line 489 of file ntuples_full.h.

Constructor & Destructor Documentation

◆ ntuple() [1/3]

template<typename... T>
ntuple ( const T &... t1)
inlineconstexpr

Definition at line 493 of file ntuples_full.h.

493: ntuple_base_t<T>(t1)... {}

◆ ntuple() [2/3]

template<typename... T>
ntuple ( )
inlineconstexpr

Definition at line 496 of file ntuples_full.h.

496: ntuple_base_t<T>(_Remove_cvref_t<T> {})... {}

◆ ntuple() [3/3]

template<typename... T>
template<typename... Ts, typename = std::enable_if_t < (sizeof...(Ts) != 1) >>
ntuple ( Ts &&... t1)
inlineconstexpr

Definition at line 499 of file ntuples_full.h.

499: ntuple_base_t<T>(std::forward<Ts>(t1))... {}

Member Function Documentation

◆ operator[]()

template<typename... T>
template<typename T2>
decltype(auto) operator[] ( const ax_name_container< T2 > & t)
inline

Definition at line 502 of file ntuples_full.h.

503 {
504 return ax_name_container<T2>::get(*this);
505 }

◆ operator|()

template<typename... T>
template<typename... ARGS>
auto operator| ( const ntuple< ARGS... > & rhs) const
inline

Definition at line 522 of file ntuples_full.h.

523 {
524 return ntuple<T..., ARGS...>(
525 T::get(*this)...,
526 ARGS::get(rhs)...);
527 }

Friends And Related Symbol Documentation

◆ operator<

template<typename... T>
bool operator< ( const ntuple< T > & lhs,
const ntuple< T > & rhs )
friend

Definition at line 530 of file ntuples_full.h.

531 {
532 constexpr auto lt = comparators::lessThan<T...>();
533 return lt(lhs, rhs);
534 }

◆ operator<<

template<typename... T>
std::ostream & operator<< ( std::ostream & out,
const ntuple< T > & self )
friend

Definition at line 507 of file ntuples_full.h.

508 {
509 out << "|";
510
511 constexpr_for<0, sizeof...(T), 1>([&](auto i) {
512 using current_t = decltype(NthTypeOf<i, _Remove_cvref_t<T>...> {});
513 out << " ";
514 out << current_t::get(self);
515 out << " |";
516 });
517
518 return out;
519 }

Member Data Documentation

◆ __size__

template<typename... T>
std::size_t __size__ = sizeof...(T)
inlinestaticconstexpr

Definition at line 535 of file ntuples_full.h.


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