mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
Add VTKM_IS_LIST_TAG checks to dynamic classes
This commit is contained in:
parent
184118d9a2
commit
b0b0bee4f6
@ -130,6 +130,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
internal::DynamicArrayHandleCast<NewTypeList,VTKM_DEFAULT_STORAGE_LIST_TAG>
|
||||
ResetTypeList(NewTypeList = NewTypeList()) const {
|
||||
VTKM_IS_LIST_TAG(NewTypeList);
|
||||
return internal::DynamicArrayHandleCast<
|
||||
NewTypeList,VTKM_DEFAULT_STORAGE_LIST_TAG>(*this);
|
||||
}
|
||||
@ -145,6 +146,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
internal::DynamicArrayHandleCast<VTKM_DEFAULT_TYPE_LIST_TAG,NewStorageList>
|
||||
ResetStorageList(NewStorageList = NewStorageList()) const {
|
||||
VTKM_IS_LIST_TAG(NewStorageList);
|
||||
return internal::DynamicArrayHandleCast<
|
||||
VTKM_DEFAULT_TYPE_LIST_TAG,NewStorageList>(*this);
|
||||
}
|
||||
@ -258,6 +260,8 @@ void DynamicArrayHandle::CastAndCall(const Functor &f,
|
||||
TypeList,
|
||||
StorageList) const
|
||||
{
|
||||
VTKM_IS_LIST_TAG(TypeList);
|
||||
VTKM_IS_LIST_TAG(StorageList);
|
||||
typedef detail::DynamicArrayHandleTryType<Functor, StorageList> TryTypeType;
|
||||
TryTypeType tryType = TryTypeType(*this, f);
|
||||
vtkm::ListForEach(tryType, TypeList());
|
||||
@ -273,6 +277,9 @@ namespace internal {
|
||||
template<typename TypeList, typename StorageList>
|
||||
class DynamicArrayHandleCast : public vtkm::cont::DynamicArrayHandle
|
||||
{
|
||||
VTKM_IS_LIST_TAG(TypeList);
|
||||
VTKM_IS_LIST_TAG(StorageList);
|
||||
|
||||
public:
|
||||
VTKM_CONT_EXPORT
|
||||
DynamicArrayHandleCast() : DynamicArrayHandle() { }
|
||||
@ -291,6 +298,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
DynamicArrayHandleCast<NewTypeList,StorageList>
|
||||
ResetTypeList(NewTypeList = NewTypeList()) const {
|
||||
VTKM_IS_LIST_TAG(NewTypeList);
|
||||
return DynamicArrayHandleCast<NewTypeList,StorageList>(*this);
|
||||
}
|
||||
|
||||
@ -298,6 +306,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
internal::DynamicArrayHandleCast<TypeList,NewStorageList>
|
||||
ResetStorageList(NewStorageList = NewStorageList()) const {
|
||||
VTKM_IS_LIST_TAG(NewStorageList);
|
||||
return internal::DynamicArrayHandleCast<TypeList,NewStorageList>(*this);
|
||||
}
|
||||
|
||||
|
@ -165,6 +165,7 @@ public:
|
||||
VTKM_DEFAULT_STORAGE_LIST_TAG>
|
||||
ResetPointCoordinatesList(
|
||||
NewPointCoordinatesList = NewPointCoordinatesList()) const {
|
||||
VTKM_IS_LIST_TAG(NewPointCoordinatesList);
|
||||
return internal::DynamicPointCoordinatesCast<
|
||||
NewPointCoordinatesList,
|
||||
VTKM_DEFAULT_TYPE_LIST_TAG,
|
||||
@ -185,6 +186,7 @@ public:
|
||||
NewTypeList,
|
||||
VTKM_DEFAULT_STORAGE_LIST_TAG>
|
||||
ResetTypeList(NewTypeList = NewTypeList()) const {
|
||||
VTKM_IS_LIST_TAG(NewTypeList);
|
||||
return internal::DynamicPointCoordinatesCast<
|
||||
VTKM_DEFAULT_POINT_COORDINATES_LIST_TAG,
|
||||
NewTypeList,
|
||||
@ -205,6 +207,7 @@ public:
|
||||
VTKM_DEFAULT_TYPE_LIST_TAG,
|
||||
NewStorageList>
|
||||
ResetStorageList(NewStorageList = NewStorageList()) const {
|
||||
VTKM_IS_LIST_TAG(NewStorageList);
|
||||
return internal::DynamicPointCoordinatesCast<
|
||||
VTKM_DEFAULT_POINT_COORDINATES_LIST_TAG,
|
||||
VTKM_DEFAULT_TYPE_LIST_TAG,
|
||||
@ -300,6 +303,9 @@ void DynamicPointCoordinates::CastAndCall(const Functor &f,
|
||||
TypeList,
|
||||
StorageList) const
|
||||
{
|
||||
VTKM_IS_LIST_TAG(PointCoordinatesList);
|
||||
VTKM_IS_LIST_TAG(TypeList);
|
||||
VTKM_IS_LIST_TAG(StorageList);
|
||||
typedef detail::DynamicPointCoordinatesTryStorage<
|
||||
Functor, TypeList, StorageList> TryTypeType;
|
||||
TryTypeType tryType = TryTypeType(*this, f);
|
||||
@ -318,6 +324,10 @@ template<typename PointCoordinatesList,
|
||||
typename StorageList>
|
||||
class DynamicPointCoordinatesCast : public vtkm::cont::DynamicPointCoordinates
|
||||
{
|
||||
VTKM_IS_LIST_TAG(PointCoordinatesList);
|
||||
VTKM_IS_LIST_TAG(TypeList);
|
||||
VTKM_IS_LIST_TAG(StorageList);
|
||||
|
||||
public:
|
||||
VTKM_CONT_EXPORT
|
||||
DynamicPointCoordinatesCast() : DynamicPointCoordinates() { }
|
||||
@ -340,6 +350,7 @@ public:
|
||||
DynamicPointCoordinatesCast<NewPointCoordinatesList,TypeList,StorageList>
|
||||
ResetPointCoordinatesList(
|
||||
NewPointCoordinatesList = NewPointCoordinatesList()) const {
|
||||
VTKM_IS_LIST_TAG(NewPointCoordinatesList);
|
||||
return DynamicPointCoordinatesCast<
|
||||
NewPointCoordinatesList,TypeList,StorageList>(*this);
|
||||
}
|
||||
@ -348,6 +359,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
DynamicPointCoordinatesCast<PointCoordinatesList,NewTypeList,StorageList>
|
||||
ResetTypeList(NewTypeList = NewTypeList()) const {
|
||||
VTKM_IS_LIST_TAG(NewTypeList);
|
||||
return DynamicPointCoordinatesCast<
|
||||
PointCoordinatesList,NewTypeList,StorageList>(*this);
|
||||
}
|
||||
@ -356,6 +368,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
DynamicPointCoordinatesCast<PointCoordinatesList,TypeList,NewStorageList>
|
||||
ResetStorageList(NewStorageList = NewStorageList()) const {
|
||||
VTKM_IS_LIST_TAG(NewStorageList);
|
||||
return DynamicPointCoordinatesCast<
|
||||
PointCoordinatesList,TypeList,NewStorageList>(*this);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user