Drop log message when ignoring copy in move
For `make_ArrayHandle` and `make_Field` when it is determined that the data can be safely moved, just silently move instead of copy instead of printing a log message saying the copy flag will be ignored. Also fix an issue with `make_ArrayHandle` when the data was not moved when it could have been.
This commit is contained in:
parent
4c56797c5d
commit
5f541d2515
@ -428,23 +428,9 @@ VTKM_CONT vtkm::cont::ArrayHandleBasic<T> make_ArrayHandleMove(std::vector<T, Al
|
||||
|
||||
template <typename T, typename Allocator>
|
||||
VTKM_CONT vtkm::cont::ArrayHandleBasic<T> make_ArrayHandle(std::vector<T, Allocator>&& array,
|
||||
vtkm::CopyFlag copy)
|
||||
vtkm::CopyFlag vtkmNotUsed(copy))
|
||||
{
|
||||
if (copy == vtkm::CopyFlag::On)
|
||||
{
|
||||
VTKM_LOG_S(
|
||||
vtkm::cont::LogLevel::Info,
|
||||
"CopyFlag states std::vector should be copied, but it can be moved. Ignoring copy flag.");
|
||||
}
|
||||
if (!array.empty())
|
||||
{
|
||||
return make_ArrayHandle(array.data(), static_cast<vtkm::Id>(array.size()), copy);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Vector empty. Just return an empty array handle.
|
||||
return vtkm::cont::ArrayHandle<T, vtkm::cont::StorageTagBasic>();
|
||||
}
|
||||
return make_ArrayHandleMove(array);
|
||||
}
|
||||
|
||||
/// Create an ArrayHandle directly from an initializer list of values.
|
||||
|
@ -223,14 +223,8 @@ template <typename T>
|
||||
vtkm::cont::Field make_Field(std::string name,
|
||||
Field::Association association,
|
||||
std::vector<T>&& data,
|
||||
vtkm::CopyFlag copy)
|
||||
vtkm::CopyFlag vtkmNotUsed(copy))
|
||||
{
|
||||
if (copy == vtkm::CopyFlag::On)
|
||||
{
|
||||
VTKM_LOG_S(
|
||||
vtkm::cont::LogLevel::Info,
|
||||
"CopyFlag states std::vector should be copied, but it can be moved. Ignoring copy flag.");
|
||||
}
|
||||
return make_FieldMove(name, association, std::move(data));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user