std::experimental::to_fixed_size, std::experimental::to_native, std::experimental::

From cppreference.com
< cpp‎ | experimental‎ | simd
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
Defined in header <experimental/simd>
template < class T, class Abi >

fixed_size_simd<T, simd_size_v<T, Abi>>

to_fixed_size( const simd<T, Abi> & v ) noexcept ;
(1) (parallelism TS v2)
template < class T, class Abi >

fixed_size_simd_mask<T, simd_size_v<T, Abi>>

to_fixed_size( const simd_mask<T, Abi> & v ) noexcept ;
(2) (parallelism TS v2)
template < class T, std::size_t N >

native_simd<T>

to_native( const fixed_size_simd<T, N> & v ) noexcept ;
(3) (parallelism TS v2)
template < class T, std::size_t N >

native_simd_mask<T>

to_native( const fixed_size_simd_mask<T, N>> & v ) noexcept ;
(4) (parallelism TS v2)
template < class T, std::size_t N >

simd<T>

to_compatible( const fixed_size_simd<T, N> & v ) noexcept ;
(5) (parallelism TS v2)
template < class T, std::size_t N >

simd_mask<T>

to_compatible( const fixed_size_simd_mask<T, N> & v ) noexcept ;
(6) (parallelism TS v2)

Returns a simd or simd_mask object with the same elements, but a different ABI.

3-6) These functions do not participate in overloading resolution unless N is the same as the size of the return type.

Parameters

v - the input simd or simd_mask object

Return value

The simd or simd_mask object with the specified ABI.

Example