Viskores  1.0
Classes | Namespaces
Tuple.h File Reference
#include <viskores/Types.h>
#include <viskores/internal/DecayHelpers.h>
#include <viskores/internal/IndexTag.h>

Go to the source code of this file.

Classes

class  viskores::Tuple< Ts >
 Viskores replacement for std::tuple. More...
 
struct  viskores::tuple_element< Index, TupleType >
 Compatible with std::tuple_element for viskores::Tuple. More...
 
class  viskores::Tuple<>
 
class  viskores::Tuple< T0 >
 
class  viskores::Tuple< T0, T1 >
 
class  viskores::Tuple< T0, T1, T2 >
 
class  viskores::Tuple< T0, T1, T2, T3 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 >
 
class  viskores::Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, Ts... >
 

Namespaces

 viskores
 Groups connected points that have the same field value.
 
template<typename TupleType >
using viskores::TupleSize = std::integral_constant< viskores::IdComponent, TupleType::Size >
 Get the size of a tuple. More...
 
template<typename TupleType >
using viskores::tuple_size = std::integral_constant< std::size_t, static_cast< std::size_t >(TupleType::Size)>
 Compatible with std::tuple_size for viskores::Tuple. More...
 
template<viskores::IdComponent Index, typename TupleType >
using viskores::TupleElement = typename detail::TupleElementImpl< Index, TupleType >::type
 Becomes the type of the given index for the given viskores::Tuple. More...
 
template<std::size_t Index, typename TupleType >
using viskores::tuple_element_t = typename tuple_element< Index, TupleType >::type
 Compatible with std::tuple_element_t for viskores::Tuple. More...
 
template<viskores::IdComponent Index, typename... Ts>
auto viskores::Get (const viskores::Tuple< Ts... > &tuple)
 Retrieve the object from a viskores::Tuple at the given index. More...
 
template<viskores::IdComponent Index, typename... Ts>
auto viskores::Get (viskores::Tuple< Ts... > &tuple)
 Retrieve the object from a viskores::Tuple at the given index. More...
 
template<std::size_t Index, typename... Ts>
auto viskores::get (const viskores::Tuple< Ts... > &tuple) -> decltype(viskores::Get< static_cast< viskores::IdComponent >(Index)>(tuple))
 Compatible with std::get for viskores::Tuple. More...
 
template<std::size_t Index, typename... Ts>
auto viskores::get (viskores::Tuple< Ts... > &tuple) -> decltype(viskores::Get< static_cast< viskores::IdComponent >(Index)>(tuple))
 Compatible with std::get for viskores::Tuple. More...
 
template<typename... Ts>
auto viskores::MakeTuple (Ts &&... args) -> viskores::Tuple< typename std::decay< Ts >::type... >
 Creates a new viskores::Tuple with the given types. More...
 
template<typename... Ts>
auto viskores::make_tuple (Ts &&... args) -> decltype(viskores::MakeTuple(std::forward< Ts >(args)...))
 Compatible with std::make_tuple for viskores::Tuple. More...
 
template<typename... Ts, typename Function , typename... Args>
auto viskores::Apply (const viskores::Tuple< Ts... > &tuple, Function &&f, Args &&... args) -> decltype(tuple.Apply(std::forward< Function >(f), std::forward< Args >(args)...))
 Call a function with the values of a viskores::Tuple as arguments. More...
 
template<typename... Ts, typename Function , typename... Args>
auto viskores::Apply (viskores::Tuple< Ts... > &tuple, Function &&f, Args &&... args) -> decltype(tuple.Apply(std::forward< Function >(f), std::forward< Args >(args)...))
 Call a function with the values of a viskores::Tuple as arguments. More...
 
template<typename... Ts, typename Function >
void viskores::ForEach (const viskores::Tuple< Ts... > &tuple, Function &&f)
 Call a function with each value of the given tuple. More...
 
template<typename... Ts, typename Function >
void viskores::ForEach (viskores::Tuple< Ts... > &tuple, Function &&f)
 Call a function with each value of the given tuple. More...
 
template<typename TupleType , typename Function >
auto viskores::Transform (const TupleType &&tuple, Function &&f) -> decltype(Apply(tuple, detail::TupleTransformFunctor(), std::forward< Function >(f)))
 Construct a new viskores::Tuple by applying a function to each value. More...
 
template<typename TupleType , typename Function >
auto viskores::Transform (TupleType &&tuple, Function &&f) -> decltype(Apply(tuple, detail::TupleTransformFunctor(), std::forward< Function >(f)))
 Get the size of a tuple. More...