vtk-m/vtkm/cont/internal
Kenneth Moreland 05f144eb19 Allow ArrayHandle to have a runtime selectable number of buffers
Previously, the number of buffers held by an `ArrayHandle` had to be
determined statically at compile time by the storage. Most of the time
this is fine. However, there are some exceptions where the number of
buffers need to be selected at runtime. For example, the
`ArrayHandleRecombineVec` does not specify the number of components it
uses, and it needed a hack where it stored buffers in the metadata of
another buffer, which is bad.

This change allows the number of buffers to vary at runtime (at least at
construction). The buffers were already managed in a `std::vector`. It
now no longer forces the vector to be a specific size.
`GetNumberOfBuffers` was removed from the `Storage`. Instead, if the
number of buffers was not specified at construction, an allocation of
size 0 is done to create default buffers.

The biggest change is to the interface of the storage object methods,
which now take `std::vector` instead of pointers to `Buffer` objects.
This adds a little hastle in having to copy subsets of this `vector`
when a storage object has multiple sub-arrays. But it does simplify some
of the templating.
2022-07-11 07:48:25 -06:00
..
testing Specify end position when filling values in Buffer 2022-01-11 07:15:41 -07:00
ArrayCopyUnknown.cxx Add ArrayCopy fast paths 2022-01-24 12:17:23 -07:00
ArrayCopyUnknown.h Add copy methods to UnknownArrayHandle 2021-09-28 10:46:58 -06:00
ArrayHandleDeprecated.h Allow ArrayHandle to have a runtime selectable number of buffers 2022-07-11 07:48:25 -06:00
ArrayHandleExecutionManager.h Support using Token calling PrepareForExecution in ExecutionObject 2020-02-25 07:41:39 -07:00
ArrayPortalFromIterators.h Remove Set method from const ArrayPortalFromIterators specialization... 2020-05-05 13:55:54 -04:00
ArrayTransfer.h Remove ArrayManagerExecution 2020-12-08 13:18:44 -07:00
AtomicInterfaceControl.h Change interface of atomic compare and swap 2020-10-20 08:39:22 -06:00
AtomicInterfaceExecution.h Change interface of atomic compare and swap 2020-10-20 08:39:22 -06:00
Buffer.cxx Allow ArrayHandle to have a runtime selectable number of buffers 2022-07-11 07:48:25 -06:00
Buffer.h Allow ArrayHandle to have a runtime selectable number of buffers 2022-07-11 07:48:25 -06:00
CastInvalidValue.h Enable setting invalid value in probe filter 2020-06-03 15:29:37 -06:00
CellLocatorBase.h Deprecate DynamicCellSet and remove from code 2022-01-04 15:38:18 -07:00
CMakeLists.txt Implement permutation mapping in vtkm_cont 2022-01-24 12:17:23 -07:00
ConnectivityExplicitInternals.h Compile reverse connectivity builder into vtkm_cont library 2021-09-17 09:48:21 -06:00
ConvertNumComponentsToOffsetsTemplate.h Precompile ConvertNumComponentsToOffsets 2021-09-16 14:27:14 -06:00
DefaultTypesAscent.h.in Add types appropriate for Ascent 2021-01-07 08:15:17 -07:00
DefaultTypesVTK.h.in Unify common storage types 2021-05-13 08:18:33 -06:00
DeviceAdapterAlgorithmGeneral.h Deprecate ArrayHandle::Shrink 2021-02-01 08:07:40 -07:00
DeviceAdapterListHelpers.h Remove instances of ListTag in favor of List 2019-12-06 21:32:36 -07:00
DeviceAdapterMemoryManager.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
DeviceAdapterMemoryManager.h Allow VTK-m Buffer to have ownership transferred 2020-08-06 10:31:57 -04:00
DeviceAdapterMemoryManagerShared.cxx Pin user provided memory in ArrayHandle 2020-06-25 14:02:46 -06:00
DeviceAdapterMemoryManagerShared.h Pin user provided memory in ArrayHandle 2020-06-25 14:02:46 -06:00
FunctorsGeneral.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
IteratorFromArrayPortal.h Make ArrayPortalWrapper more tolerant of host objects 2020-02-26 13:10:51 -07:00
KXSort.h
MapArrayPermutation.cxx Add ArrayCopy specialization for Counting and Permutation array 2022-01-24 12:17:23 -07:00
MapArrayPermutation.h Add ArrayCopy specialization for Counting and Permutation array 2022-01-24 12:17:23 -07:00
OptionParser.h adjust options parser include path 2021-11-01 11:30:10 -07:00
OptionParserArguments.h implement return codes and protected virtual parsing of arguments 2021-06-23 17:58:38 +00:00
ParallelRadixSort.h Use TBB task_group for radix sort 2021-06-10 10:39:13 -06:00
ParallelRadixSortInterface.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
PointLocatorBase.h Deprecate DynamicCellSet and remove from code 2022-01-04 15:38:18 -07:00
ReverseConnectivityBuilder.h Compile reverse connectivity builder into vtkm_cont library 2021-09-17 09:48:21 -06:00
RuntimeDeviceConfiguration.cxx Fix condition in RuntimeDeviceConfiguration 2021-08-20 08:51:44 -06:00
RuntimeDeviceConfiguration.h implement kokkos runtime device configuration 2021-08-18 13:23:30 -06:00
RuntimeDeviceConfigurationOptions.cxx implement kokkos runtime device configuration 2021-08-18 13:23:30 -06:00
RuntimeDeviceConfigurationOptions.h implement kokkos runtime device configuration 2021-08-18 13:23:30 -06:00
RuntimeDeviceOption.cxx implement kokkos runtime device configuration 2021-08-18 13:23:30 -06:00
RuntimeDeviceOption.h implement return codes and protected virtual parsing of arguments 2021-06-23 17:58:38 +00:00
StorageDeprecated.h Allow ArrayHandle to have a runtime selectable number of buffers 2022-07-11 07:48:25 -06:00
StorageError.h
TransferInfo.cxx TransferInfo doesn't leak when holding VirtualObjectTransferShareWithControl 2019-04-29 15:51:19 -04:00
TransferInfo.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00
Variant.h Make separate exec and cont versions of Variant 2020-11-09 12:48:10 -07:00
VirtualObjectTransfer.cxx Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00
VirtualObjectTransfer.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00
VirtualObjectTransferInstantiate.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00
VirtualObjectTransferShareWithControl.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00