Allow ArrayPortalFromThrust to be used inside a zip portal.
This commit is contained in:
parent
ce124b91e4
commit
078d623173
@ -128,20 +128,10 @@ public:
|
||||
template<typename OtherT>
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
ArrayPortalFromThrust(const ArrayPortalFromThrust<OtherT> &src)
|
||||
: BeginIterator(src.BeginIterator),
|
||||
EndIterator(src.EndIterator)
|
||||
: BeginIterator(src.GetIteratorBegin()),
|
||||
EndIterator(src.GetIteratorEnd())
|
||||
{ }
|
||||
|
||||
template<typename OtherT>
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
ArrayPortalFromThrust<T> &operator=(
|
||||
const ArrayPortalFromThrust<OtherT> &src)
|
||||
{
|
||||
this->BeginIterator = src.BeginIterator;
|
||||
this->EndIterator = src.EndIterator;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
vtkm::Id GetNumberOfValues() const {
|
||||
// Not using std::distance because on CUDA it cannot be used on a device.
|
||||
@ -158,10 +148,10 @@ public:
|
||||
*this->IteratorAt(index) = value;
|
||||
}
|
||||
|
||||
VTKM_CONT_EXPORT
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
IteratorType GetIteratorBegin() const { return this->BeginIterator.get(); }
|
||||
|
||||
VTKM_CONT_EXPORT
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
IteratorType GetIteratorEnd() const { return this->EndIterator.get(); }
|
||||
|
||||
//private:
|
||||
@ -196,23 +186,13 @@ public:
|
||||
/// type that can be copied to this iterator type. This allows us to do any
|
||||
/// type casting that the iterators do (like the non-const to const cast).
|
||||
///
|
||||
template<typename OtherT>
|
||||
// template<typename OtherT>
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
ConstArrayPortalFromThrust(const ConstArrayPortalFromThrust<OtherT> &src)
|
||||
: BeginIterator(src.BeginIterator),
|
||||
EndIterator(src.EndIterator)
|
||||
ConstArrayPortalFromThrust(const ArrayPortalFromThrust<T> &src)
|
||||
: BeginIterator(src.GetIteratorBegin()),
|
||||
EndIterator(src.GetIteratorEnd())
|
||||
{ }
|
||||
|
||||
template<typename OtherT>
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
ConstArrayPortalFromThrust<T> &operator=(
|
||||
const ConstArrayPortalFromThrust<OtherT> &src)
|
||||
{
|
||||
this->BeginIterator = src.BeginIterator;
|
||||
this->EndIterator = src.EndIterator;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
vtkm::Id GetNumberOfValues() const {
|
||||
// Not using std::distance because on CUDA it cannot be used on a device.
|
||||
@ -229,10 +209,10 @@ public:
|
||||
*this->IteratorAt(index) = value;
|
||||
}
|
||||
|
||||
VTKM_CONT_EXPORT
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
IteratorType GetIteratorBegin() const { return this->BeginIterator.get(); }
|
||||
|
||||
VTKM_CONT_EXPORT
|
||||
VTKM_EXEC_CONT_EXPORT
|
||||
IteratorType GetIteratorEnd() const { return this->EndIterator.get(); }
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user