vtk-m/vtkm/internal
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
..
.gitattributes clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
ArrayPortalBasic.h Replace basic ArrayHandle implementation to use Buffers 2020-06-25 14:02:26 -06:00
ArrayPortalDummy.h Add standard support for read-only storage 2020-12-10 13:39:28 -07:00
ArrayPortalHelpers.h Properly handle Get(Id3) in ArrayPortalCheck 2020-03-18 10:51:20 -06:00
ArrayPortalUniformPointCoordinates.h Update ArrayHandleImplicit to new array style with Buffer 2020-10-21 08:36:29 -06:00
ArrayPortalValueReference.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
Assume.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CMakeLists.txt Adding CMake tweaks to turn off thrust algorithms if thrust is not detected. 2023-02-20 08:26:24 -06:00
Configure.h.in Merge topic 'thrust-sorting' 2023-03-06 09:48:43 -05:00
ConfigureFor32.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ConfigureFor64.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ConnectivityStructuredInternals.h Eliminate need for SpatialDecomposition in contour tree filters. 2022-08-02 20:01:41 -07:00
DecayHelpers.h Make Tuple class 2020-03-16 17:12:16 -06:00
ExportMacros.h CI: Remove warnings of CUDA & use attributes 2021-08-12 19:20:02 -04:00
FunctionInterface.h Suppress bad deprecation warnings in MSVC 2020-07-14 16:25:04 -06:00
FunctionInterfaceDetailPost.h Simplify FunctionInterface 2019-12-02 09:33:35 -05:00
FunctionInterfaceDetailPost.h.in Simplify FunctionInterface 2019-12-02 09:33:35 -05:00
FunctionInterfaceDetailPre.h Remove brigand from FunctionInterface 2022-03-08 07:25:08 -07:00
FunctionInterfaceDetailPre.h.in Remove brigand from FunctionInterface 2022-03-08 07:25:08 -07:00
IndexTag.h conslidate the license statement 2019-04-17 10:57:13 -06:00
IndicesExtrude.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
Instantiations.h Update vtkm_add_instantiations documentation 2022-03-23 06:34:05 -06:00
Invocation.h Correct warnings found with CUDA 10.2 + gcc 4.8.5 2020-02-26 15:16:35 -05:00
Meta.h Enable predicate parameter to ListAll and ListAny 2022-03-08 09:26:35 -07:00
Unreachable.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
VariantImpl.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
VariantImplDetail.h Expose the Variant helper class 2022-11-01 07:52:41 -06:00
VariantImplDetail.h.in Expose the Variant helper class 2022-11-01 07:52:41 -06:00
VecOperators.h vtkm::Vec: added unrolled arithmetic operators overload 2020-09-03 16:10:15 -04:00
VecOperators.h.in vtkm::Vec: added unrolled arithmetic operators overload 2020-09-03 16:10:15 -04:00
Windows.h conslidate the license statement 2019-04-17 10:57:13 -06:00