table of contents
        
      
      
    | std::experimental::simd_abi::deduce(3) | C++ Standard Libary | std::experimental::simd_abi::deduce(3) | 
NAME¶
std::experimental::simd_abi::deduce - std::experimental::simd_abi::deduce
Synopsis¶
 Defined in header <experimental/simd>
  
   template < class T, std::size_t N, class ...Abis > (parallelism TS v2)
  
   struct deduce;
  
   The type deduce<T, N, Abis...>::type is present if and only if:
  
   * T is a vectorizable type,
  
   * simd_abi::fixed_size<N> is supported, and
  
   * every type in Abis... is an ABI tag
  
   Let DA denote deduce<T, N, Abis...>::type when it presents, then
  
   * simd_size_v<T, DA> == N
  
   * simd<T, DA> is default constructible, i.e. it is supported
  
   * DA is simd_abi::scalar if N==1, otherwise it is implementation-defined
Member types¶
 Name Definition
  
   type an ABI tag type suitable for specified element type T and size N
Helper types¶
 template < class T, std::size_t N, class ...Abis >
    (parallelism TS v2)
  
   using deduce_t = typename deduce<T, N, Abis...>::type;
Notes¶
simd_abi::deduce is SFINAE-friendly.
  
   The ABI tag deduced via this facility is a Quality-of-Implementation feature.
    A
  
   simple implementation might simply return fixed_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,
  
   use fixed_size if ABI stability is of concern, and prefer deduce_t
  otherwise.
Example¶
 This section is incomplete
  
   Reason: no example
See also¶
 scalar tag type for storing a single element
  
   (parallelism TS v2) (typedef)
  
   fixed_size tag type for storing specified number of elements
  
   (parallelism TS v2) (alias template)
  
   compatible tag type that ensures ABI compatibility
  
   (parallelism TS v2) (alias template)
  
   native tag type that is most efficient
  
   (parallelism TS v2) (alias template)
| 2022.07.31 | http://cppreference.com |