VTK-m  2.2
Classes | Namespaces
Tuple.h File Reference
#include <vtkm/Types.h>
#include <vtkm/internal/DecayHelpers.h>
#include <vtkm/internal/IndexTag.h>

Go to the source code of this file.

Classes

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

Namespaces

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