ac889b5004
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 |
||
---|---|---|
.. | ||
changelog | ||
batch_lsf.png | ||
build_stage.png | ||
CI-README.md | ||
CODEOWNERS | ||
CodingConventions.md | ||
external_stage.png | ||
HotFixGuide.md | ||
HPCBuilds.md | ||
Modules.md | ||
NewRelease.md.tmpl | ||
perftest_arch.png | ||
ReleaseProcess.md | ||
ReleaseRoadmap.md |