VTK-m  2.2
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
vtkm::Tuple< T0 > Class Template Reference

#include <Tuple.h>

Public Types

template<vtkm::IdComponent Index>
using ElementType = vtkm::TupleElement< Index, Tuple< T0 > >
 

Public Member Functions

 Tuple ()=default
 
 Tuple (Tuple &&)=default
 
 Tuple (const Tuple &)=default
 
 ~Tuple ()=default
 
Tupleoperator= (Tuple &&)=default
 
Tupleoperator= (const Tuple &)=default
 
template<typename A0 >
 Tuple (A0 &&a0)
 
template<vtkm::IdComponent Index>
auto Get () -> decltype(this->GetImpl(vtkm::internal::IndexTag< Index >
 
template<vtkm::IdComponent Index>
auto Get () const -> decltype(this->GetImpl(vtkm::internal::IndexTag< Index >
 
template<typename Function , typename... Args>
auto Apply (Function &&f, Args &&... args) -> decltype(f(std::forward< Args >(args)..., Value0))
 
template<typename Function , typename... Args>
auto Apply (Function &&f, Args &&... args) const -> decltype(f(std::forward< Args >(args)..., Value0))
 
template<typename Function >
void ForEach (Function &&f)
 
template<typename Function >
void ForEach (Function &&f) const
 
template<typename Function >
auto Transform (Function &&f) -> decltype(vtkm::Transform(*this, std::forward< Function >(f)))
 
template<typename Function >
auto Transform (Function &&f) const -> decltype(vtkm::Transform(*this, std::forward< Function >(f)))
 

Static Public Attributes

static constexpr vtkm::IdComponent Size = 1
 

Private Member Functions

vtkm::internal::remove_cvref< T0 > & GetImpl (vtkm::internal::IndexTag< 0 >)
 
const vtkm::internal::remove_cvref< T0 > & GetImpl (vtkm::internal::IndexTag< 0 >) const
 

Static Private Member Functions

static T0 ElementTypeI (vtkm::internal::IndexTag< 0 >)
 
template<vtkm::IdComponent Index>
static vtkm::internal::NullType ElementTypeI (vtkm::internal::IndexTag< Index >)
 

Private Attributes

T0 Value0
 

Member Typedef Documentation

◆ ElementType

template<typename T0 >
template<vtkm::IdComponent Index>
using vtkm::Tuple< T0 >::ElementType = vtkm::TupleElement<Index, Tuple<T0> >

Constructor & Destructor Documentation

◆ Tuple() [1/4]

template<typename T0 >
vtkm::Tuple< T0 >::Tuple ( )
default

◆ Tuple() [2/4]

template<typename T0 >
vtkm::Tuple< T0 >::Tuple ( Tuple< T0 > &&  )
default

◆ Tuple() [3/4]

template<typename T0 >
vtkm::Tuple< T0 >::Tuple ( const Tuple< T0 > &  )
default

◆ ~Tuple()

template<typename T0 >
vtkm::Tuple< T0 >::~Tuple ( )
default

◆ Tuple() [4/4]

template<typename T0 >
template<typename A0 >
vtkm::Tuple< T0 >::Tuple ( A0 &&  a0)
inline

Member Function Documentation

◆ Apply() [1/2]

template<typename T0 >
template<typename Function , typename... Args>
auto vtkm::Tuple< T0 >::Apply ( Function &&  f,
Args &&...  args 
) -> decltype(f(std::forward<Args>(args)..., Value0))
inline

◆ Apply() [2/2]

template<typename T0 >
template<typename Function , typename... Args>
auto vtkm::Tuple< T0 >::Apply ( Function &&  f,
Args &&...  args 
) const -> decltype(f(std::forward<Args>(args)..., Value0))
inline

◆ ElementTypeI() [1/2]

template<typename T0 >
static T0 vtkm::Tuple< T0 >::ElementTypeI ( vtkm::internal::IndexTag< 0 >  )
staticprivate

◆ ElementTypeI() [2/2]

template<typename T0 >
template<vtkm::IdComponent Index>
static vtkm::internal::NullType vtkm::Tuple< T0 >::ElementTypeI ( vtkm::internal::IndexTag< Index )
staticprivate

◆ ForEach() [1/2]

template<typename T0 >
template<typename Function >
void vtkm::Tuple< T0 >::ForEach ( Function &&  f)
inline

◆ ForEach() [2/2]

template<typename T0 >
template<typename Function >
void vtkm::Tuple< T0 >::ForEach ( Function &&  f) const
inline

◆ Get() [1/2]

template<typename T0 >
template<vtkm::IdComponent Index>
auto vtkm::Tuple< T0 >::Get ( ) -> decltype(this->GetImpl(vtkm::internal::IndexTag<Index>
inline

◆ Get() [2/2]

template<typename T0 >
template<vtkm::IdComponent Index>
auto vtkm::Tuple< T0 >::Get ( ) const -> decltype(this->GetImpl(vtkm::internal::IndexTag<Index>
inline

◆ GetImpl() [1/2]

template<typename T0 >
vtkm::internal::remove_cvref<T0>& vtkm::Tuple< T0 >::GetImpl ( vtkm::internal::IndexTag< 0 >  )
inlineprivate

◆ GetImpl() [2/2]

template<typename T0 >
const vtkm::internal::remove_cvref<T0>& vtkm::Tuple< T0 >::GetImpl ( vtkm::internal::IndexTag< 0 >  ) const
inlineprivate

◆ operator=() [1/2]

template<typename T0 >
Tuple& vtkm::Tuple< T0 >::operator= ( const Tuple< T0 > &  )
default

◆ operator=() [2/2]

template<typename T0 >
Tuple& vtkm::Tuple< T0 >::operator= ( Tuple< T0 > &&  )
default

◆ Transform() [1/2]

template<typename T0 >
template<typename Function >
auto vtkm::Tuple< T0 >::Transform ( Function &&  f) -> decltype(vtkm::Transform(*this, std::forward<Function>(f)))
inline

◆ Transform() [2/2]

template<typename T0 >
template<typename Function >
auto vtkm::Tuple< T0 >::Transform ( Function &&  f) const -> decltype(vtkm::Transform(*this, std::forward<Function>(f)))
inline

Member Data Documentation

◆ Size

template<typename T0 >
constexpr vtkm::IdComponent vtkm::Tuple< T0 >::Size = 1
staticconstexpr

◆ Value0

template<typename T0 >
T0 vtkm::Tuple< T0 >::Value0
private

The documentation for this class was generated from the following file: