vtk-m/vtkm/testing
Kenneth Moreland ac889b5004 Implement VecTraits class for all types
The `VecTraits` class allows templated functions, methods, and classes to
treat type arguments uniformly as `Vec` types or to otherwise differentiate
between scalar and vector types. This only works for types that `VecTraits`
is defined for.

The `VecTraits` templated class now has a default implementation that will
be used for any type that does not have a `VecTraits` specialization. This
removes many surprise compiler errors when using a template that, unknown
to you, has `VecTraits` in its implementation.

One potential issue is that if `VecTraits` gets defined for a new type, the
behavior of `VecTraits` could change for that type in backward-incompatible
ways. If `VecTraits` is used in a purely generic way, this should not be an
issue. However, if assumptions were made about the components and length,
this could cause problems.

Fixes #589
2023-03-16 12:59:38 -06:00
..
CMakeLists.txt Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Testing.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
UnitTestArrayPortalBasic.cxx Add module mechanism 2022-10-26 12:51:05 -06:00
UnitTestArrayPortalValueReference.cxx Add module mechanism 2022-10-26 12:51:05 -06:00
UnitTestAtomic.cxx Change interface of atomic compare and swap 2020-10-20 08:39:22 -06:00
UnitTestBinaryOperators.cxx Make BinaryOperators/Predicates more flexible. 2019-12-18 15:51:59 -05:00
UnitTestBinaryPredicates.cxx added missing MinAndMax BinaryOperator tests, updated formatting 2019-04-30 09:43:17 -06:00
UnitTestBounds.cxx Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
UnitTestCellShape.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestConfigureFor32.cxx Add module mechanism 2022-10-26 12:51:05 -06:00
UnitTestConfigureFor64.cxx Add module mechanism 2022-10-26 12:51:05 -06:00
UnitTestDeprecated.cxx Fix warnings 2020-08-12 13:55:24 -04:00
UnitTestExceptions.cxx RuntimeDeviceTracker can't be copied and is only accessible via reference. 2019-05-20 11:43:05 -04:00
UnitTestFunctionInterface.cxx Add module mechanism 2022-10-26 12:51:05 -06:00
UnitTestGeometry.cxx Add __func__ to unit test metadata printed on failure. 2021-04-12 12:54:38 -04:00
UnitTestHash.cxx Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
UnitTestList.cxx Enable predicate parameter to ListAll and ListAny 2022-03-08 09:26:35 -07:00
UnitTestLowerBound.cxx split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
UnitTestMath.cxx Changes for Ascent Tests (ECP CI) 2022-07-13 14:15:02 -07:00
UnitTestMatrix.cxx Make matrix unit tests less verbose. 2021-02-08 16:18:13 -05:00
UnitTestNewtonsMethod.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestNoAssert.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
UnitTestPair.cxx Be more conservative about is_trivial support 2021-03-01 15:12:27 -07:00
UnitTestRange.cxx Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
UnitTestTesting.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestTransform3D.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
UnitTestTuple.cxx Add vtkmstd::integer_sequence 2020-03-16 17:12:16 -06:00
UnitTestTypeList.cxx Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
UnitTestTypes.cxx Disable floating point exception traps when testing NaNs 2021-07-12 10:29:45 -06:00
UnitTestTypeTraits.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestUnaryPredicates.cxx added missing MinAndMax BinaryOperator tests, updated formatting 2019-04-30 09:43:17 -06:00
UnitTestUpperBound.cxx split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
UnitTestVecAxisAlignedPointCoordinates.cxx Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
UnitTestVecFlat.cxx Add VecFlat class 2020-12-16 17:22:44 -07:00
UnitTestVecFromPortal.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
UnitTestVecFromPortalPermute.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
UnitTestVectorAnalysis.cxx Fix build errors on Windows and compiler warnings on Ubuntu. 2021-04-07 08:09:39 -04:00
UnitTestVecTraits.cxx Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
UnitTestVecVariable.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
VecTraitsTests.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00