OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
ippl::TupleImpl< i, N, T > Struct Template Reference

Partial specialization of TupleImpl for handling the terminal element. More...

#include <Tuple.h>

Collaboration diagram for ippl::TupleImpl< i, N, T >:
Collaboration graph

Public Member Functions

template<std::size_t Idx>
requires (Idx == N - 1)
KOKKOS_INLINE_FUNCTION auto & get () noexcept
 
template<std::size_t Idx>
requires (Idx == N - 1)
KOKKOS_INLINE_FUNCTION const auto & get () const noexcept
 
 TupleImpl ()=default
 
KOKKOS_INLINE_FUNCTION TupleImpl (const T &t)
 
KOKKOS_INLINE_FUNCTION TupleImpl (T &&t)
 

Public Attributes

T val
 

Detailed Description

template<std::size_t i, std::size_t N, typename T>
struct ippl::TupleImpl< i, N, T >

Partial specialization of TupleImpl for handling the terminal element.

Template Parameters
iCurrent index in the Tuple.
NTotal number of elements in the Tuple.
TType of the terminal element.

Definition at line 98 of file Tuple.h.

Constructor & Destructor Documentation

◆ TupleImpl() [1/3]

template<std::size_t i, std::size_t N, typename T >
ippl::TupleImpl< i, N, T >::TupleImpl ( )
default

◆ TupleImpl() [2/3]

template<std::size_t i, std::size_t N, typename T >
KOKKOS_INLINE_FUNCTION ippl::TupleImpl< i, N, T >::TupleImpl ( const T t)
inline

Definition at line 113 of file Tuple.h.

◆ TupleImpl() [3/3]

template<std::size_t i, std::size_t N, typename T >
KOKKOS_INLINE_FUNCTION ippl::TupleImpl< i, N, T >::TupleImpl ( T &&  t)
inline

Definition at line 115 of file Tuple.h.

Member Function Documentation

◆ get() [1/2]

template<std::size_t i, std::size_t N, typename T >
template<std::size_t Idx>
requires (Idx == N - 1)
KOKKOS_INLINE_FUNCTION const auto & ippl::TupleImpl< i, N, T >::get ( ) const
inlinenoexcept

Definition at line 107 of file Tuple.h.

◆ get() [2/2]

template<std::size_t i, std::size_t N, typename T >
template<std::size_t Idx>
requires (Idx == N - 1)
KOKKOS_INLINE_FUNCTION auto & ippl::TupleImpl< i, N, T >::get ( )
inlinenoexcept

Definition at line 102 of file Tuple.h.

Member Data Documentation

◆ val

template<std::size_t i, std::size_t N, typename T >
T ippl::TupleImpl< i, N, T >::val

Definition at line 99 of file Tuple.h.


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