mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +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>
|
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>
|
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
|
} // namespace detail
|
||||||
|
|
||||||
template <typename TargetT, typename SourceT, typename SourceStorage>
|
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
|
: detail::ArrayHandleCastTraits<TargetT, SourceT, SourceStorage>::StorageSuperclass
|
||||||
{
|
{
|
||||||
using Superclass =
|
using Superclass =
|
||||||
@ -134,7 +134,7 @@ struct Storage<TargetT, StorageTagCast<SourceT, SourceStorage>>
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename TargetT, typename SourceT, typename SourceStorage, typename Device>
|
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,
|
: detail::ArrayHandleCastTraits<TargetT,
|
||||||
SourceT,
|
SourceT,
|
||||||
SourceStorage>::template ArrayTransferSuperclass<Device>
|
SourceStorage>::template ArrayTransferSuperclass<Device>
|
||||||
|
@ -102,7 +102,7 @@ private:
|
|||||||
} // namespace internal
|
} // namespace internal
|
||||||
|
|
||||||
template <typename StorageTag1, typename StorageTag2>
|
template <typename StorageTag1, typename StorageTag2>
|
||||||
class StorageTagConcatenate
|
class VTKM_ALWAYS_EXPORT StorageTagConcatenate
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ namespace vtkm
|
|||||||
namespace cont
|
namespace cont
|
||||||
{
|
{
|
||||||
|
|
||||||
struct StorageTagConstant
|
struct VTKM_ALWAYS_EXPORT StorageTagConstant
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ namespace vtkm
|
|||||||
namespace cont
|
namespace cont
|
||||||
{
|
{
|
||||||
|
|
||||||
struct StorageTagCounting
|
struct VTKM_ALWAYS_EXPORT StorageTagCounting
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ namespace vtkm
|
|||||||
namespace cont
|
namespace cont
|
||||||
{
|
{
|
||||||
|
|
||||||
struct StorageTagIndex
|
struct VTKM_ALWAYS_EXPORT StorageTagIndex
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -34,14 +34,14 @@ using StorageTagIndexSuperclass =
|
|||||||
typename vtkm::cont::ArrayHandleImplicit<IndexFunctor>::StorageTag;
|
typename vtkm::cont::ArrayHandleImplicit<IndexFunctor>::StorageTag;
|
||||||
|
|
||||||
template <>
|
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 = Storage<vtkm::Id, StorageTagIndexSuperclass>;
|
||||||
using Superclass::Superclass;
|
using Superclass::Superclass;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Device>
|
template <typename Device>
|
||||||
struct ArrayTransfer<vtkm::Id, StorageTagIndex, Device>
|
struct ArrayTransfer<vtkm::Id, vtkm::cont::StorageTagIndex, Device>
|
||||||
: ArrayTransfer<vtkm::Id, StorageTagIndexSuperclass, Device>
|
: ArrayTransfer<vtkm::Id, StorageTagIndexSuperclass, Device>
|
||||||
{
|
{
|
||||||
using Superclass = ArrayTransfer<vtkm::Id, StorageTagIndexSuperclass, Device>;
|
using Superclass = ArrayTransfer<vtkm::Id, StorageTagIndexSuperclass, Device>;
|
||||||
|
@ -71,7 +71,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename ArrayHandleType>
|
template <typename ArrayHandleType>
|
||||||
class StorageTagReverse
|
class VTKM_ALWAYS_EXPORT StorageTagReverse
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ namespace vtkm
|
|||||||
namespace cont
|
namespace cont
|
||||||
{
|
{
|
||||||
|
|
||||||
struct StorageTagUniformPoints
|
struct VTKM_ALWAYS_EXPORT StorageTagUniformPoints
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ private:
|
|||||||
} // namespace internal
|
} // namespace internal
|
||||||
|
|
||||||
template <typename ArrayHandleType>
|
template <typename ArrayHandleType>
|
||||||
struct StorageTagView
|
struct VTKM_ALWAYS_EXPORT StorageTagView
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user