Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
Tuple.h File Reference
#include <hydra/detail/Config.h>
#include <hydra/detail/external/hydra_thrust/tuple.h>
#include <hydra/detail/external/hydra_thrust/detail/tuple/tuple.h>
#include <hydra/detail/utility/Generic.h>
#include <utility>
Include dependency graph for Tuple.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 hydra
 Generic policies definition.
 

Typedefs

template<typename T1 , typename T2 >
using hydra::pair = hydra::thrust::pair< T1, T2 >
 pair template is an alias to the hydra::thrust::pair structure. More...
 
template<typename... T>
using hydra::tuple = hydra::thrust::tuple< T... >
 tuple template is an alias to the variadic version of hydra::thrust::tuple and that can be instantiated with a indefinite number of arguments. More...
 
template<int N, class T >
using hydra::tuple_element = hydra::thrust::tuple_element< N, T >
 The get function returns a const reference to a tuple element of interest. More...
 
template<class T >
using hydra::tuple_size = hydra::thrust::tuple_size< T >
 This metafunction returns the number of elements of a tuple type of interest. More...
 

Functions

template<class ... T>
__hydra_host__ __hydra_device__ auto hydra::forward_as_tuple (T &&...t) -> decltype(hydra::thrust::forward_as_tuple(std::forward< T >(t)...))
 Constructs a tuple of references to the arguments in args suitable for forwarding as an argument to a function. More...
 
template<int I, int N, typename T >
__hydra_host__ __hydra_device__hydra::get (T(&array)[N])
 
template<int I, typename T >
__hydra_host__ __hydra_device__hydra::get (T *array)
 
template<typename Type , typename ... T>
__hydra_host__ __hydra_device__ Type & hydra::get (hydra::thrust::tuple< T... > const &t)
 The get function returns a reference to a tuple element of interest. More...
 
template<int N, typename ... T>
__hydra_host__ __hydra_device__ const hydra::thrust::tuple_element< N, hydra::thrust::tuple< T... > >::type & hydra::get (hydra::thrust::tuple< T... > const &t)
 
template<typename Type , typename ... T>
__hydra_host__ __hydra_device__ Type & hydra::get (hydra::thrust::tuple< T... > &t)
 
template<int N, typename ... T>
__hydra_host__ __hydra_device__ hydra::thrust::tuple_element< N, hydra::thrust::tuple< T... > >::type & hydra::get (hydra::thrust::tuple< T... > &t)
 
template<typename Type , typename ... T>
__hydra_host__ __hydra_device__ Type && hydra::get (hydra::thrust::tuple< T... > &&t)
 
template<int N, typename ... T>
__hydra_host__ __hydra_device__ hydra::thrust::tuple_element< N, hydra::thrust::tuple< T... > >::type && hydra::get (hydra::thrust::tuple< T... > &&t)
 
template<int N, typename T1 , typename T2 >
__hydra_host__ __hydra_device__ hydra::thrust::tuple_element< N, hydra::thrust::pair< T1, T2 > >::type & hydra::get (hydra::thrust::pair< T1, T2 > &t)
 
template<int N, typename T1 , typename T2 >
__hydra_host__ __hydra_device__ const hydra::thrust::tuple_element< N, hydra::thrust::pair< T1, T2 > >::type & hydra::get (hydra::thrust::pair< T1, T2 > const &t)
 
template<int N, typename T1 , typename T2 >
__hydra_host__ __hydra_device__ hydra::thrust::tuple_element< N, hydra::thrust::pair< T1, T2 > >::type && hydra::get (hydra::thrust::pair< T1, T2 > &&t)
 
template<class T1 , class T2 >
__hydra_host__ __hydra_device__ auto hydra::make_pair (T1 &&t1, T2 &&t2) -> decltype(hydra::thrust::make_pair(std::forward< T1 >(t1), std::forward< T2 >(t2)))
 This version of make_pair creates a new pair object from a list of objects. More...
 
template<class ... T>
__hydra_host__ __hydra_device__ auto hydra::make_tuple (T &&... t) -> decltype(hydra::thrust::make_tuple(std::forward< T >(t)...))
 This version of make_tuple creates a new tuple object from a list of objects. More...
 
template<class ... T>
__hydra_host__ __hydra_device__ auto hydra::tie (T &...t) -> decltype(hydra::thrust::tie(t...))
 This version of tie creates a new tuple whose elements are references which refers to this function's arguments. More...