tuple< T > Struct Template Reference

tuple&lt; T &gt; Struct Template Reference#

Composable Kernel: ck_tile::tuple< T > Struct Template Reference
ck_tile::tuple< T > Struct Template Reference

#include <tuple.hpp>

Inheritance diagram for ck_tile::tuple< T >:
ck_tile::impl::tuple_base< make_index_sequence< sizeof...(T)>, T... >

Public Types

using base = impl::tuple_base<make_index_sequence<sizeof...(T)>, T...>

Public Member Functions

CK_TILE_HOST_DEVICE constexpr tuple ()=default
template<class... U>
CK_TILE_HOST_DEVICE constexpr tuple (U &&... u)
template<class... U>
CK_TILE_HOST_DEVICE constexpr tuple (const U &... u)
template<class... U>
CK_TILE_HOST_DEVICE constexpr tuple (U &... u)
template<class... U>
CK_TILE_HOST_DEVICE constexpr tuple (tuple< U... > &&u)
template<class... U>
CK_TILE_HOST_DEVICE constexpr tuple (const tuple< U... > &u)
template<class... U>
CK_TILE_HOST_DEVICE constexpr tuple (tuple< U... > &u)
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get () const &
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get (number< I >) const &
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get () &
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get (number< I >) &
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get () &&
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get (number< I >) &&
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get () const &&
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get (number< I >) const &&
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) at () const
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) at (number< I >) const
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) at ()
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) at (number< I >)
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) operator[] (number< I >)
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) operator[] (number< I >) const
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) operator() (number< I >)
template<typename Tx>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get_as ()
template<typename Tx>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get_as () const
template<typename Tx, index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get_as (number< I >)
template<typename Tx, index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) get_as (number< I >) const
template<typename Tx, index_t I>
CK_TILE_HOST_DEVICE constexpr void set_as (number< I >, const Tx &x)

Static Public Member Functions

static CK_TILE_HOST_DEVICE constexpr auto size ()
static CK_TILE_HOST_DEVICE constexpr bool is_static ()
static CK_TILE_HOST_DEVICE constexpr bool IsTuple ()

Member Typedef Documentation

◆ base

template<class... T>
using ck_tile::tuple< T >::base = impl::tuple_base<make_index_sequence<sizeof...(T)>, T...>

Constructor & Destructor Documentation

◆ tuple() [1/7]

template<class... T>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( )
constexprdefault

◆ tuple() [2/7]

template<class... T>
template<class... U>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( U &&... u)
inlineconstexpr

◆ tuple() [3/7]

template<class... T>
template<class... U>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( const U &... u)
inlineconstexpr

◆ tuple() [4/7]

template<class... T>
template<class... U>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( U &... u)
inlineconstexpr

◆ tuple() [5/7]

template<class... T>
template<class... U>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( tuple< U... > && u)
inlineconstexpr

◆ tuple() [6/7]

template<class... T>
template<class... U>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( const tuple< U... > & u)
inlineconstexpr

◆ tuple() [7/7]

template<class... T>
template<class... U>
CK_TILE_HOST_DEVICE constexpr ck_tile::tuple< T >::tuple ( tuple< U... > & u)
inlineconstexpr

Member Function Documentation

◆ at() [1/4]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::at ( )
inlineconstexpr

◆ at() [2/4]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::at ( ) const
inlineconstexpr

◆ at() [3/4]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::at ( number< I > )
inlineconstexpr

◆ at() [4/4]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::at ( number< I > ) const
inlineconstexpr

◆ get() [1/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( ) &
inlineconstexpr

◆ get() [2/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( ) &&
inlineconstexpr

◆ get() [3/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( ) const &
inlineconstexpr

◆ get() [4/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( ) const &&
inlineconstexpr

◆ get() [5/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( number< I > ) &
inlineconstexpr

◆ get() [6/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( number< I > ) &&
inlineconstexpr

◆ get() [7/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( number< I > ) const &
inlineconstexpr

◆ get() [8/8]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get ( number< I > ) const &&
inlineconstexpr

◆ get_as() [1/4]

template<class... T>
template<typename Tx>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get_as ( )
inlineconstexpr

◆ get_as() [2/4]

template<class... T>
template<typename Tx>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get_as ( ) const
inlineconstexpr

◆ get_as() [3/4]

template<class... T>
template<typename Tx, index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get_as ( number< I > )
inlineconstexpr

◆ get_as() [4/4]

template<class... T>
template<typename Tx, index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::get_as ( number< I > ) const
inlineconstexpr

◆ is_static()

template<class... T>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::tuple< T >::is_static ( )
inlinestaticconstexpr

◆ IsTuple()

template<class... T>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::tuple< T >::IsTuple ( )
inlinestaticconstexpr

◆ operator()()

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::operator() ( number< I > )
inlineconstexpr

◆ operator[]() [1/2]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::operator[] ( number< I > )
inlineconstexpr

◆ operator[]() [2/2]

template<class... T>
template<index_t I>
CK_TILE_HOST_DEVICE constexpr decltype(auto) ck_tile::tuple< T >::operator[] ( number< I > ) const
inlineconstexpr

◆ set_as()

template<class... T>
template<typename Tx, index_t I>
CK_TILE_HOST_DEVICE constexpr void ck_tile::tuple< T >::set_as ( number< I > ,
const Tx & x )
inlineconstexpr

◆ size()

template<class... T>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tuple< T >::size ( )
inlinestaticconstexpr

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