std::experimental::simd_abi:: deduce
|
헤더 파일에 정의됨
<experimental/simd>
|
||
|
template
<
class
T,
std::
size_t
N,
class
...
Abis
>
struct deduce ; |
(parallelism TS v2) | |
타입 deduce < T, N, Abis... > :: type 는 다음 조건에서만 존재합니다:
- T 는 벡터화 가능한 타입이며,
- simd_abi :: fixed_size < N > 이 지원되고,
- Abis... 내 모든 타입이 ABI 태그입니다.
DA
가 존재할 때 이를
deduce
<
T, N, Abis...
>
::
type
로 표기한다면,
- simd_size_v < T, DA > == N ,
- simd < T, DA > 는 기본 생성 가능합니다. 즉, 지원됩니다.
-
DA는simd_abi::scalar입니다. 단, N == 1 인 경우에 한하며, 그 외의 경우에는 구현에서 정의됩니다.
목차 |
멤버 타입
| 이름 | 정의 |
type
|
지정된 요소 타입
T
와 크기
N
에 적합한 ABI 태그 타입
|
헬퍼 타입
|
template
<
class
T,
std::
size_t
N,
class
...
Abis
>
using deduce_t = typename deduce < T, N, Abis... > :: type ; |
(병렬성 TS v2) | |
참고 사항
simd_abi::deduce
는 SFINAE-friendly입니다.
이 기능을 통해 추론된 ABI 태그는 구현 품질(Quality-of-Implementation) 기능입니다.
구현체는
Abis...
를 기준으로 선택할 수 있지만,
Abis...
인수를 무시할 수도 있습니다. 단순한 구현체는 무조건
fixed_size
<
N
>
를 반환할 수 있습니다. 최적화된 구현체는 대부분의 입력에 대해 구현체 정의 확장 ABI 태그를 반환할 수 있습니다. 따라서 특정 요소 수에 대한 ABI 태그가 필요한 경우, ABI 안정성이 중요한 경우에는
fixed_size
를 사용하고, 그렇지 않은 경우에는
deduce_t
를 선호하십시오.
예제
|
이 섹션은 불완전합니다
이유: 예시가 없음 |
참고 항목
|
(parallelism TS v2)
|
단일 요소를 저장하기 위한 태그 타입
(typedef) |
|
(parallelism TS v2)
|
지정된 수의 요소를 저장하기 위한 태그 타입
(alias template) |
|
(parallelism TS v2)
|
ABI 호환성을 보장하는 태그 타입
(alias template) |
|
(parallelism TS v2)
|
가장 효율적인 태그 타입
(alias template) |