Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::experi..._abi::deduce(3) C++ Standard Libarystd::experi..._abi::deduce(3)

NAME
       std::experimental::simd_abi::deduce  - std::experimental::simd_abi::de-
       duce

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> uncondition-
       ally. An
	  optimized  implementation might return an implementation-defined ex-
       tended ABI tag for
	  most inputs. Consequently, if	you need an ABI	tag for	a certain num-
       ber 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 ele-
       ments
	  (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)

http://cppreference.com		  2022.07.31	 std::experi..._abi::deduce(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::simd_abi::deduce&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help