mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 13:23:51 +00:00
Declare StorageTags with VTKM_ALWAYS_EXPORT
This modifier is required on OSX for dynamic_cast to work properly across libraries.
This commit is contained in:
parent
1ec716e5d2
commit
bfd21dfae2
@ -155,7 +155,7 @@ namespace cont
|
||||
{
|
||||
|
||||
template <typename StorageTag1, typename StorageTag2, typename StorageTag3>
|
||||
struct StorageTagCartesianProduct
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagCartesianProduct
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -25,7 +25,7 @@ namespace cont
|
||||
{
|
||||
|
||||
template <typename SourceT, typename SourceStorage>
|
||||
struct StorageTagCast
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagCast
|
||||
{
|
||||
};
|
||||
|
||||
@ -124,7 +124,7 @@ struct ArrayHandleCastTraits<TargetT, SourceT, SourceStorage, true, true>
|
||||
} // namespace detail
|
||||
|
||||
template <typename TargetT, typename SourceT, typename SourceStorage>
|
||||
struct Storage<TargetT, StorageTagCast<SourceT, SourceStorage>>
|
||||
struct Storage<TargetT, vtkm::cont::StorageTagCast<SourceT, SourceStorage>>
|
||||
: detail::ArrayHandleCastTraits<TargetT, SourceT, SourceStorage>::StorageSuperclass
|
||||
{
|
||||
using Superclass =
|
||||
@ -134,7 +134,7 @@ struct Storage<TargetT, StorageTagCast<SourceT, SourceStorage>>
|
||||
};
|
||||
|
||||
template <typename TargetT, typename SourceT, typename SourceStorage, typename Device>
|
||||
struct ArrayTransfer<TargetT, StorageTagCast<SourceT, SourceStorage>, Device>
|
||||
struct ArrayTransfer<TargetT, vtkm::cont::StorageTagCast<SourceT, SourceStorage>, Device>
|
||||
: detail::ArrayHandleCastTraits<TargetT,
|
||||
SourceT,
|
||||
SourceStorage>::template ArrayTransferSuperclass<Device>
|
||||
|
@ -102,7 +102,7 @@ private:
|
||||
} // namespace internal
|
||||
|
||||
template <typename StorageTag1, typename StorageTag2>
|
||||
class StorageTagConcatenate
|
||||
class VTKM_ALWAYS_EXPORT StorageTagConcatenate
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace vtkm
|
||||
namespace cont
|
||||
{
|
||||
|
||||
struct StorageTagConstant
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagConstant
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ namespace vtkm
|
||||
namespace cont
|
||||
{
|
||||
|
||||
struct StorageTagCounting
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagCounting
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace vtkm
|
||||
namespace cont
|
||||
{
|
||||
|
||||
struct StorageTagIndex
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagIndex
|
||||
{
|
||||
};
|
||||
|
||||
@ -34,14 +34,14 @@ using StorageTagIndexSuperclass =
|
||||
typename vtkm::cont::ArrayHandleImplicit<IndexFunctor>::StorageTag;
|
||||
|
||||
template <>
|
||||
struct Storage<vtkm::Id, StorageTagIndex> : Storage<vtkm::Id, StorageTagIndexSuperclass>
|
||||
struct Storage<vtkm::Id, vtkm::cont::StorageTagIndex> : Storage<vtkm::Id, StorageTagIndexSuperclass>
|
||||
{
|
||||
using Superclass = Storage<vtkm::Id, StorageTagIndexSuperclass>;
|
||||
using Superclass::Superclass;
|
||||
};
|
||||
|
||||
template <typename Device>
|
||||
struct ArrayTransfer<vtkm::Id, StorageTagIndex, Device>
|
||||
struct ArrayTransfer<vtkm::Id, vtkm::cont::StorageTagIndex, Device>
|
||||
: ArrayTransfer<vtkm::Id, StorageTagIndexSuperclass, Device>
|
||||
{
|
||||
using Superclass = ArrayTransfer<vtkm::Id, StorageTagIndexSuperclass, Device>;
|
||||
|
@ -71,7 +71,7 @@ private:
|
||||
}
|
||||
|
||||
template <typename ArrayHandleType>
|
||||
class StorageTagReverse
|
||||
class VTKM_ALWAYS_EXPORT StorageTagReverse
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -19,7 +19,7 @@ namespace vtkm
|
||||
namespace cont
|
||||
{
|
||||
|
||||
struct StorageTagUniformPoints
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagUniformPoints
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -82,7 +82,7 @@ private:
|
||||
} // namespace internal
|
||||
|
||||
template <typename ArrayHandleType>
|
||||
struct StorageTagView
|
||||
struct VTKM_ALWAYS_EXPORT StorageTagView
|
||||
{
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user