Merge topic 'vec_from_portal_const'

3e09b2ce VecFromPortal::CopyTo can now handle const value Portals.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !579
This commit is contained in:
Robert Maynard 2016-10-12 15:53:45 -04:00 committed by Kitware Robot
commit ce1362ad82
2 changed files with 7 additions and 4 deletions

@ -38,7 +38,8 @@ template<typename PortalType>
class VecFromPortal class VecFromPortal
{ {
public: public:
typedef typename PortalType::ValueType ComponentType; using ComponentType =
typename std::remove_const<typename PortalType::ValueType>::type;
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_SUPPRESS_EXEC_WARNINGS
VTKM_EXEC_EXPORT VTKM_EXEC_EXPORT
@ -56,9 +57,9 @@ public:
return this->NumComponents; return this->NumComponents;
} }
template<vtkm::IdComponent DestSize> template<typename T, vtkm::IdComponent DestSize>
VTKM_EXEC_EXPORT VTKM_EXEC_EXPORT
void CopyInto(vtkm::Vec<ComponentType,DestSize> &dest) const void CopyInto(vtkm::Vec<T,DestSize> &dest) const
{ {
vtkm::IdComponent numComponents = vtkm::Min(DestSize, this->NumComponents); vtkm::IdComponent numComponents = vtkm::Min(DestSize, this->NumComponents);
for (vtkm::IdComponent index = 0; index < numComponents; index++) for (vtkm::IdComponent index = 0; index < numComponents; index++)

@ -39,7 +39,9 @@ template<typename IndexVecType, typename PortalType>
class VecFromPortalPermute class VecFromPortalPermute
{ {
public: public:
typedef typename PortalType::ValueType ComponentType; using ComponentType =
typename std::remove_const<typename PortalType::ValueType>::type;
VTKM_EXEC_EXPORT VTKM_EXEC_EXPORT
VecFromPortalPermute() { } VecFromPortalPermute() { }