IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::TupleImpl< i, N, T > Struct Template Reference

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

#include <Tuple.h>

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

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.

References val.

◆ 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.

References val.

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.

References val.

◆ 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.

References val.

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.

Referenced by get(), get(), TupleImpl(), and TupleImpl().


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