vtk-m/vtkm/worklet/testing
Sujin Philip fc9077e0c5 Mark ArrayHandle constructors taking buffers, as explicit
This resolves a compiler ambiguity I hit during development.
In my case, I created an `ArrayHandleDecorator` with one of the arrays being
an `ArrayHandleTransform`. The ambiguity occurs in function
`DecoratorStorageTraits<...>::BuffersToArray`, here an `ArrayHandleTransform`
is constructed using buffers (`std::vector<vtkm::cont::internal::Buffer>`)

This constructor is not defined for `ArrayHandleTransform`, but it's defined for
its superclass (`vtkm::cont::ArrayHandle`). `ArrayHandleTransform` does have a
non-explicit constructor that takes the array to be transformed and the
transform-functor as parameters, where the later has a default value.
This produces the following ambiguous options for the compiler:

1. Create a "to-be-transformed" ArrayHandle instance using the buffers, call
   the `ArrayHandleTransform` constructor with this array with the defaulted
   functor parameter.
2. Create the superclass instance using the buffer and call the
  `ArrayHandleTransform` constructor that takes the superclass.

In this situation, option 2 is the correct choice.

The ambiguity is resolved by marking the constructors that take
buffers as explicit. These constructors are also added for the
derived classess via the `VTK_M_ARRAY_HANDLE_SUBCLASS_IMPL` macro.
2023-06-21 13:50:33 -04:00
..
CMakeLists.txt cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
GenerateTestDataSets.h Change how cell ghost levels are set 2022-11-09 08:40:37 -07:00
TestingContourTreeUniformDistributedLoadArrays.h Moved I/O functions to testing directory. 2021-11-08 11:41:15 -08:00
UnitTestAverageByKey.cxx Fix slow ArrayCopy calls 2022-01-24 14:15:45 -07:00
UnitTestBoundingIntervalHierarchy.cxx Deprecate DynamicCellSet and remove from code 2022-01-04 15:38:18 -07:00
UnitTestCellDeepCopy.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
UnitTestContourTreeUniformDistributed.cxx Eliminate need for SpatialDecomposition in contour tree filters. 2022-08-02 20:01:41 -07:00
UnitTestCosmoTools.cxx Fix deprecation warnings 2021-01-26 07:56:39 -07:00
UnitTestDescriptiveStatistics.cxx add distributed statistics 2023-03-24 15:19:23 +00:00
UnitTestDispatcherBase.cxx Add module mechanism 2022-10-26 12:51:05 -06:00
UnitTestFieldStatistics.cxx add statistics filter 2023-01-30 10:21:47 +00:00
UnitTestKeys.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
UnitTestMaskIndices.cxx Use new ways to get array portal in control environment 2020-02-26 13:10:46 -07:00
UnitTestMaskSelect.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
UnitTestNDimsHistMarginalization.cxx CI: remove unused variable warnings 2022-10-25 15:40:48 -04:00
UnitTestNormalize.cxx CI: remove unused variable warnings 2022-10-25 15:40:48 -04:00
UnitTestScalarsToColors.cxx Use new ways to get array portal in control environment 2020-02-26 13:10:46 -07:00
UnitTestScatterAndMask.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
UnitTestScatterAndMaskWithTopology.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
UnitTestScatterCounting.cxx Improvements to moving data into ArrayHandle 2020-07-23 10:53:38 -06:00
UnitTestScatterPermutation.cxx Remove locking control ArrayPortals 2020-03-16 07:10:10 -06:00
UnitTestSplatKernels.cxx Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
UnitTestStreamLineUniformGrid.cxx Update use of field association enumerations 2022-03-17 11:02:37 -06:00
UnitTestTriangleWinding.cxx Merge topic 'allocate-and-fill' 2022-01-13 17:15:37 -05:00
UnitTestWaveletCompressor.cxx Ignore computationTime. 2021-04-12 18:51:52 -04:00
UnitTestWholeCellSetIn.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
UnitTestWorkletMapField3d.cxx Deprecate VariantArrayHandle 2021-04-07 16:12:38 -06:00
UnitTestWorkletMapField.cxx Deprecate ArrayHandle::Shrink 2021-02-01 08:07:40 -07:00
UnitTestWorkletMapFieldExecArg.cxx Test variant arguments to worklets 2023-04-19 11:30:47 -06:00
UnitTestWorkletMapFieldWholeArray.cxx Deprecate VariantArrayHandle 2021-04-07 16:12:38 -06:00
UnitTestWorkletMapFieldWholeArrayAtomic.cxx Deprecate VariantArrayHandle 2021-04-07 16:12:38 -06:00
UnitTestWorkletMapPointNeighborhood.cxx Mark ArrayHandle constructors taking buffers, as explicit 2023-06-21 13:50:33 -04:00
UnitTestWorkletMapTopologyExplicit.cxx Change PointAverage to work on fields of any type 2023-02-03 14:52:04 -05:00
UnitTestWorkletMapTopologyUniform.cxx Change PointAverage to work on fields of any type 2023-02-03 14:52:04 -05:00
UnitTestWorkletReduceByKey.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00