P2964R3 — Allowing user-defined types in std::simd
Daniel Towner, Ruslan Arutyunyan
LEWGSG6
Revisions R5Jul 2026R4May 2026R3Apr 2026R2Feb 2026
The C++ standard library includes data-parallel types in the `<simd>` header, currently restricting element types to a closed list: arithmetic types and `std::complex` specializations. This paper proposes a minimal change to the specification in which the closed list is replaced with trait-based constraints that handle all existing types while naturally extend support to enumerations, `std::byte` and user-defined types.