Tuple< Xs > Struct Template Reference

Tuple&lt; Xs &gt; Struct Template Reference#

Composable Kernel: ck::Tuple< Xs > Struct Template Reference

#include <tuple.hpp>

Inheritance diagram for ck::Tuple< Xs >:
ck::detail::TupleImpl< arithmetic_sequence_gen< 0, sizeof...(Xs), 1 >::type, Xs... >

Public Types

using base

Public Member Functions

__host__ __device__ constexpr Tuple ()=default
template<typename Y, typename enable_if< sizeof...(Xs)==1 &&!is_same< remove_cvref_t< Y >, Tuple >::value, bool >::type = false>
__host__ __device__ constexpr Tuple (Y &&y)
template<typename... Ys, typename enable_if< sizeof...(Ys)==sizeof...(Xs) &&sizeof...(Ys) > = 2, bool, ::type = false>
__host__ __device__ constexpr Tuple (Ys &&... ys)
template<index_t I>
__host__ __device__ constexpr const auto & At (Number< I >) const
template<index_t I>
__host__ __device__ constexpr auto & At (Number< I >)
template<index_t I>
__host__ __device__ constexpr const auto & operator[] (Number< I > i) const
template<index_t I>
__host__ __device__ constexpr auto & operator() (Number< I > i)
template<typename T>
__host__ __device__ constexpr auto operator= (const T &a)

Static Public Member Functions

__host__ static __device__ constexpr index_t Size ()
__host__ static __device__ constexpr bool IsStaticBuffer ()
__host__ static __device__ constexpr bool IsTuple ()

Member Typedef Documentation

◆ base

template<typename... Xs>
using ck::Tuple< Xs >::base
Initial value:
detail::TupleImpl<typename arithmetic_sequence_gen<0, sizeof...(Xs), 1>::type, Xs...>
Definition utility/sequence.hpp:256
Definition utility/tuple.hpp:74

Constructor & Destructor Documentation

◆ Tuple() [1/3]

template<typename... Xs>
__host__ __device__ constexpr ck::Tuple< Xs >::Tuple ( )
constexprdefault

◆ Tuple() [2/3]

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

◆ Tuple() [3/3]

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

Member Function Documentation

◆ At() [1/2]

template<typename... Xs>
template<index_t I>
__host__ __device__ constexpr auto & ck::Tuple< Xs >::At ( Number< I > )
inlineconstexpr

◆ At() [2/2]

template<typename... Xs>
template<index_t I>
__host__ __device__ constexpr const auto & ck::Tuple< Xs >::At ( Number< I > ) const
inlineconstexpr

◆ IsStaticBuffer()

template<typename... Xs>
__host__ static __device__ constexpr bool ck::Tuple< Xs >::IsStaticBuffer ( )
inlinestaticconstexpr

◆ IsTuple()

template<typename... Xs>
__host__ static __device__ constexpr bool ck::Tuple< Xs >::IsTuple ( )
inlinestaticconstexpr

◆ operator()()

template<typename... Xs>
template<index_t I>
__host__ __device__ constexpr auto & ck::Tuple< Xs >::operator() ( Number< I > i)
inlineconstexpr

◆ operator=()

template<typename... Xs>
template<typename T>
__host__ __device__ constexpr auto ck::Tuple< Xs >::operator= ( const T & a)
inlineconstexpr

◆ operator[]()

template<typename... Xs>
template<index_t I>
__host__ __device__ constexpr const auto & ck::Tuple< Xs >::operator[] ( Number< I > i) const
inlineconstexpr

◆ Size()

template<typename... Xs>
__host__ static __device__ constexpr index_t ck::Tuple< Xs >::Size ( )
inlinestaticconstexpr

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