| 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 |
| Parallel exceptions | ||||
| Additional execution policies | ||||
| Algorithms | ||||
| Task blocks | ||||
| Data-parallel vectors | ||||
Defined in header <experimental/simd> | ||
template<class T,std::size_t N,class ...Abis> struct deduce; | (parallelism TS v2) | |
The typededuce<T, N, Abis...>::type is present if and only if:
LetDA denotededuce<T, N, Abis...>::type when it presents, then
DA issimd_abi::scalar ifN==1, otherwise it is implementation-defined.Contents |
| Name | Definition |
type | an ABI tag type suitable for specified element typeT and sizeN |
template<class T,std::size_t N,class ...Abis> using deduce_t=typename deduce<T, N, Abis...>::type; | (parallelism TS v2) | |
simd_abi::deduce is SFINAE-friendly.
The ABI tag deduced via this facility is a Quality-of-Implementation feature. Implementations can base the choice onAbis..., but can also ignore theAbis... arguments. A simple implementation might simply returnfixed_size<N> unconditionally. An optimized implementation might return an implementation-defined extended ABI tag for most inputs. Consequently, if you need an ABI tag for a certain number of elements, usefixed_size if ABI stability is of concern, and preferdeduce_t otherwise.
| This section is incomplete Reason: no example |
(parallelism TS v2) | tag type for storing a single element (typedef)[edit] |
(parallelism TS v2) | tag type for storing specified number of elements (alias template)[edit] |
(parallelism TS v2) | tag type that ensures ABI compatibility (alias template)[edit] |
(parallelism TS v2) | tag type that is most efficient (alias template)[edit] |