TupleImpl< Sequence< Is… >, Xs… > Struct Template Reference

TupleImpl&lt; Sequence&lt; Is… &gt;, Xs… &gt; Struct Template Reference#

Composable Kernel: ck::detail::TupleImpl< Sequence< Is... >, Xs... > Struct Template Reference
ck::detail::TupleImpl< Sequence< Is... >, Xs... > Struct Template Reference

#include <tuple.hpp>

Inheritance diagram for ck::detail::TupleImpl< Sequence< Is... >, Xs... >:
ck::detail::TupleElementKeyData< TupleElementKey< Is >, Xs >

Public Member Functions

__host__ __device__ constexpr TupleImpl ()=default
template<typename Y, typename enable_if< sizeof...(Is)==1 &&sizeof...(Xs)==1 &&!is_same< remove_cvref_t< Y >, TupleImpl >::value, bool >::type = false>
__host__ __device__ constexpr TupleImpl (Y &&y)
template<typename... Ys, typename enable_if< sizeof...(Ys) > = 2, bool, ::type = false>
__host__ __device__ constexpr TupleImpl (Ys &&... ys)
template<index_t I>
__host__ __device__ constexpr const auto & GetElementDataByKey (TupleElementKey< I >) const
template<index_t I>
__host__ __device__ constexpr auto & GetElementDataByKey (TupleElementKey< I >)
Public Member Functions inherited from ck::detail::TupleElementKeyData< TupleElementKey< Is >, Xs >
__host__ __device__ constexpr TupleElementKeyData ()

Static Public Member Functions

__host__ static __device__ constexpr index_t Size ()

Additional Inherited Members

Public Types inherited from ck::detail::TupleElementKeyData< TupleElementKey< Is >, Xs >
using DataType
Public Attributes inherited from ck::detail::TupleElementKeyData< TupleElementKey< Is >, Xs >
DataType mData

Constructor & Destructor Documentation

◆ TupleImpl() [1/3]

template<index_t... Is, typename... Xs>
__host__ __device__ constexpr ck::detail::TupleImpl< Sequence< Is... >, Xs... >::TupleImpl ( )
constexprdefault

◆ TupleImpl() [2/3]

template<index_t... Is, typename... Xs>
template<typename Y, typename enable_if< sizeof...(Is)==1 &&sizeof...(Xs)==1 &&!is_same< remove_cvref_t< Y >, TupleImpl >::value, bool >::type = false>
__host__ __device__ constexpr ck::detail::TupleImpl< Sequence< Is... >, Xs... >::TupleImpl ( Y && y)
inlineconstexpr

◆ TupleImpl() [3/3]

template<index_t... Is, typename... Xs>
template<typename... Ys, typename enable_if< sizeof...(Ys) > = 2, bool, ::type = false>
__host__ __device__ constexpr ck::detail::TupleImpl< Sequence< Is... >, Xs... >::TupleImpl ( Ys &&... ys)
inlineconstexpr

Member Function Documentation

◆ GetElementDataByKey() [1/2]

template<index_t... Is, typename... Xs>
template<index_t I>
__host__ __device__ constexpr auto & ck::detail::TupleImpl< Sequence< Is... >, Xs... >::GetElementDataByKey ( TupleElementKey< I > )
inlineconstexpr

◆ GetElementDataByKey() [2/2]

template<index_t... Is, typename... Xs>
template<index_t I>
__host__ __device__ constexpr const auto & ck::detail::TupleImpl< Sequence< Is... >, Xs... >::GetElementDataByKey ( TupleElementKey< I > ) const
inlineconstexpr

◆ Size()

template<index_t... Is, typename... Xs>
__host__ static __device__ constexpr index_t ck::detail::TupleImpl< Sequence< Is... >, Xs... >::Size ( )
inlinestaticconstexpr

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