VTK-m  2.0
Public Types | Public Member Functions | Private Attributes | List of all members
vtkm::VecFromPortalPermute< IndexVecType, PortalType > Class Template Reference

A short vector from an ArrayPortal and a vector of indices. More...

#include <VecFromPortalPermute.h>

Public Types

using ComponentType = typename std::remove_const< typename PortalType::ValueType >::type
 

Public Member Functions

VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT VecFromPortalPermute ()
 
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT VecFromPortalPermute (const IndexVecType *indices, const PortalType &portal)
 
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::IdComponent GetNumberOfComponents () const
 
template<vtkm::IdComponent DestSize>
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void CopyInto (vtkm::Vec< ComponentType, DestSize > &dest) const
 
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ComponentType operator[] (vtkm::IdComponent index) const
 

Private Attributes

const IndexVecType *const Indices
 
PortalType Portal
 

Detailed Description

template<typename IndexVecType, typename PortalType>
class vtkm::VecFromPortalPermute< IndexVecType, PortalType >

A short vector from an ArrayPortal and a vector of indices.

The VecFromPortalPermute class is a Vec-like class that holds an array portal and a second Vec-like containing indices into the array. Each value of this vector is the value from the array with the respective index.

Member Typedef Documentation

◆ ComponentType

template<typename IndexVecType , typename PortalType >
using vtkm::VecFromPortalPermute< IndexVecType, PortalType >::ComponentType = typename std::remove_const<typename PortalType::ValueType>::type

Constructor & Destructor Documentation

◆ VecFromPortalPermute() [1/2]

template<typename IndexVecType , typename PortalType >
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::VecFromPortalPermute< IndexVecType, PortalType >::VecFromPortalPermute ( )
inline

◆ VecFromPortalPermute() [2/2]

template<typename IndexVecType , typename PortalType >
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::VecFromPortalPermute< IndexVecType, PortalType >::VecFromPortalPermute ( const IndexVecType *  indices,
const PortalType &  portal 
)
inline

Member Function Documentation

◆ CopyInto()

template<typename IndexVecType , typename PortalType >
template<vtkm::IdComponent DestSize>
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void vtkm::VecFromPortalPermute< IndexVecType, PortalType >::CopyInto ( vtkm::Vec< ComponentType, DestSize > &  dest) const
inline

◆ GetNumberOfComponents()

template<typename IndexVecType , typename PortalType >
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::IdComponent vtkm::VecFromPortalPermute< IndexVecType, PortalType >::GetNumberOfComponents ( ) const
inline

◆ operator[]()

template<typename IndexVecType , typename PortalType >
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ComponentType vtkm::VecFromPortalPermute< IndexVecType, PortalType >::operator[] ( vtkm::IdComponent  index) const
inline

Member Data Documentation

◆ Indices

template<typename IndexVecType , typename PortalType >
const IndexVecType* const vtkm::VecFromPortalPermute< IndexVecType, PortalType >::Indices
private

◆ Portal

template<typename IndexVecType , typename PortalType >
PortalType vtkm::VecFromPortalPermute< IndexVecType, PortalType >::Portal
private

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