| 
| template<typename F , index_t... ids>  | 
| __host__ constexpr __device__ auto  | ck::generate_tuple_for (F &&f, Sequence< ids... >) | 
|   | 
| template<typename F , index_t N>  | 
| __host__ constexpr __device__ auto  | ck::generate_tuple (F &&f, Number< N >) | 
|   | 
| template<typename F , index_t N>  | 
| __host__ constexpr __device__ auto  | ck::generate_tuple (F &&f, LongNumber< N >) | 
|   | 
| template<typename F , index_t N>  | 
| __host__ constexpr __device__ auto  | ck::generate_tie (F &&f, Number< N >) | 
|   | 
| template<typename... X, typename... Y>  | 
| __host__ constexpr __device__ auto  | ck::concat_tuple_of_reference (const Tuple< X &... > &tx, const Tuple< Y &... > &ty) | 
|   | 
| template<typename... X, typename... Y>  | 
| __host__ constexpr __device__ auto  | ck::concat_tuple (const Tuple< X... > &tx, const Tuple< Y... > &ty) | 
|   | 
| template<typename... X>  | 
| __host__ constexpr __device__ auto  | ck::concat_tuple (const Tuple< X... > &tx) | 
|   | 
| template<typename... X, typename... Tuples>  | 
| __host__ constexpr __device__ auto  | ck::concat_tuple (const Tuple< X... > &tx, const Tuples &... tuples) | 
|   | 
| template<typename F , typename X , index_t... Is>  | 
| __host__ constexpr __device__ auto  | ck::detail::transform_tuples_impl (F f, const X &x, Sequence< Is... >) | 
|   | 
| template<typename F , typename X , typename Y , index_t... Is>  | 
| __host__ constexpr __device__ auto  | ck::detail::transform_tuples_impl (F f, const X &x, const Y &y, Sequence< Is... >) | 
|   | 
| template<typename F , typename X , typename Y , typename Z , index_t... Is>  | 
| __host__ constexpr __device__ auto  | ck::detail::transform_tuples_impl (F f, const X &x, const Y &y, const Z &z, Sequence< Is... >) | 
|   | 
| template<typename F , typename X >  | 
| __host__ constexpr __device__ auto  | ck::transform_tuples (F f, const X &x) | 
|   | 
| template<typename F , typename X , typename Y >  | 
| __host__ constexpr __device__ auto  | ck::transform_tuples (F f, const X &x, const Y &y) | 
|   | 
| template<typename F , typename X , typename Y , typename Z >  | 
| __host__ constexpr __device__ auto  | ck::transform_tuples (F f, const X &x, const Y &y, const Z &z) | 
|   | 
| template<index_t Depth = 0, index_t MaxDepth = -1>  | 
| __host__ constexpr __device__ auto  | ck::UnrollNestedTuple (const Tuple<> &element) | 
|   | 
| template<index_t Depth = 0, index_t MaxDepth = -1, typename T >  | 
| __host__ constexpr __device__ auto  | ck::UnrollNestedTuple (const T &element) | 
|   | 
| template<index_t Depth = 0, index_t MaxDepth = -1, typename... Ts>  | 
| __host__ constexpr __device__ auto  | ck::UnrollNestedTuple (const Tuple< Ts... > &tuple) | 
|   | 
| template<typename... Ts>  | 
| __host__ constexpr __device__ auto  | ck::TupleReverse (const Tuple< Ts... > &tuple) | 
|   | 
| template<index_t Idx, index_t End, typename F , typename... Ts>  | 
| __host__ constexpr __device__ auto  | ck::TupleReduce (F &&f, const Tuple< Ts... > &tuple) | 
|   | 
| template<typename... Ts>  | 
| __host__ constexpr __device__ auto  | ck::IsNestedTuple (const Tuple< Ts... > &) | 
|   | 
| template<index_t depth = 0, typename T >  | 
| __host__ constexpr __device__ auto  | ck::TupleDepth (const T &) | 
|   | 
| template<index_t depth = 0, typename... Ts>  | 
| __host__ constexpr __device__ auto  | ck::TupleDepth (const Tuple< Ts... > &) | 
|   | 
| template<index_t from, index_t to, typename... Ts>  | 
| __host__ constexpr __device__ auto  | ck::TupleSlice (const Tuple< Ts... > &tuple) | 
|   |