Add missing types to serialization of UnknownArrayHandle

This commit is contained in:
Kenneth Moreland 2021-01-07 13:15:48 -07:00
parent ab9c0f7248
commit 50d9320135
2 changed files with 27 additions and 1 deletions

@ -152,6 +152,16 @@ struct SerializableTypeString<vtkm::Float64>
}
};
template <>
struct SerializableTypeString<bool>
{
static VTKM_CONT const std::string& Get()
{
static std::string name = "B8";
return name;
}
};
template <>
struct SerializableTypeString<char>
{

@ -22,7 +22,21 @@
#include <vtkm/cont/ArrayHandleUniformPointCoordinates.h>
#include <vtkm/cont/UncertainArrayHandle.h>
using UnknownSerializationTypes = vtkm::TypeListAll;
namespace
{
template <vtkm::IdComponent N>
struct ScalarToVec
{
template <typename T>
using Transform = vtkm::Vec<T, N>;
};
template <vtkm::IdComponent N>
using AllVec = vtkm::ListTransform<vtkm::TypeListBaseC, ScalarToVec<N>::template Transform>;
using UnknownSerializationTypes =
vtkm::ListAppend<vtkm::TypeListBaseC, AllVec<2>, AllVec<3>, AllVec<4>>;
using UnknownSerializationStorage =
vtkm::ListAppend<VTKM_DEFAULT_STORAGE_LIST,
vtkm::List<vtkm::cont::StorageTagBasic,
@ -41,6 +55,8 @@ using UnknownSerializationStorage =
vtkm::cont::StorageTagSOA,
vtkm::cont::StorageTagUniformPoints>>;
} // anonymous namespace
namespace vtkm
{
namespace cont