std::experimental::simd_abi::fixed_size
From cppreference.com
< cpp | experimental | simd
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Experimental
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)
Extensions for parallelism v2
Parallel exceptions
Additional execution policies
Algorithms
Task blocks
SIMD library
simd_abi::fixed_size
Defined in header
<experimental/simd>
template< int N >
struct fixed_size {};
(parallelism TS v2)
struct fixed_size {};
The simd_abi::fixed_size<N> tag type ensures data-parallel types to store and manipulate N
elements (i.e. simd<T, simd_abi::fixed_size<N>>::size() returns N
). An implementation shall support at least all N
∈ [
1,
32]
. Additionally, for every supported simd<T, Abi>, where Abi
is an implementation-defined ABI tag, N = simd<T, Abi>::size() shall be supported.
[edit] Notes
An implementation may choose to forego ABI compatibility between differently compiled translation units for simd
and simd_mask
instantiations using the same simd_abi::fixed_size<N> tag. Otherwise, the efficiency of simd<T, Abi> is likely to be better than simd<T, fixed_size<simd_size_v<T, Abi>>> (with Abi
not an instance of simd_abi::fixed_size).
[edit] Example
This section is incomplete
Reason: no example
Reason: no example
[edit] See also
(parallelism TS v2)
(constant) [edit]
(parallelism TS v2)
(class template) [edit]