Add default constructors/destructors/assignment to Dynamic* classes

The DynamicArrayHandle and DynamicCellSet classes exclusively work in
the control environment. However, CUDA likes to add __device__ to
constructors, destructors, and assignment operators it automatically
adds. This in turn causes warnings about the __device__ function using
host-only classes (like boost::shared_ptr). Solve this problem by adding
explicit methods for all of these.
This commit is contained in:
Kenneth Moreland 2015-10-22 09:44:51 -06:00
parent c7e9c1b67c
commit fec9262099
2 changed files with 22 additions and 0 deletions

@ -183,6 +183,17 @@ public:
detail::DynamicArrayHandleCopyHelper::GetArrayHandleContainer(src))
{ }
VTKM_CONT_EXPORT
~DynamicArrayHandleBase() { }
VTKM_CONT_EXPORT
vtkm::cont::DynamicArrayHandleBase<TypeList,StorageList> &
operator=(const vtkm::cont::DynamicArrayHandleBase<TypeList,StorageList> &src)
{
this->ArrayContainer = src.ArrayContainer;
return *this;
}
/// Returns true if this array is of the provided type and uses the provided
/// storage.
///

@ -117,6 +117,17 @@ public:
detail::DynamicCellSetCopyHelper::GetCellSetContainer(src))
{ }
VTKM_CONT_EXPORT
~DynamicCellSetBase() { }
VTKM_CONT_EXPORT
vtkm::cont::DynamicCellSetBase<CellSetList> &
operator=(const vtkm::cont::DynamicCellSetBase<CellSetList> &src)
{
this->CellSetContainer = src.CellSetContainer;
return *this;
}
/// Returns true if this cell set is of the provided type.
///
template<typename CellSetType>