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

From cppreference.com
< cpp‎ | experimental‎ | simd
 
 
Technical specifications
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)
 
 
 
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 an 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