C++ named requirements: AccessorPolicy (since C++23)
AccessorPolicy 는 주어진 데이터 핸들과 인덱스를 통해 요소에 접근하는 방식을 정의합니다. 이는 std:: mdspan 에서 정책으로 사용되어 기본 1차원 인덱스를 사용한 요소 참조 접근을 명시합니다.
목차 |
요구사항
타입
A
가 다음을 만족하면
AccessorPolicy
를 충족합니다:
copyable
개념을 모델링해야 하며, 다음 조건들이
true
여야 합니다:
- std:: is_nothrow_move_constructible_v < A >
- std:: is_nothrow_move_assignable_v < A >
- std:: is_nothrow_swappable_v < A >
태그 내부), HTML 태그/속성, 또는 번역이 금지된 C++ 특정 용어(std::is_nothrow_move_constructible_v 등)로 구성되어 있습니다. 따라서 원본 형식이 그대로 유지되었습니다.
그리고, 다음과 같은 유형과 값이 주어졌을 때, 아래 표에 표시된 표현식들은 유효하며 표시된 의미를 갖습니다:
범례
| 유형 | 정의 |
A
|
액세스 정책 유형 |
OP
|
오프셋 정책 유형 |
| 값 | 정의 |
| a |
A
타입의 (const 한정이 가능한) 값
|
| p |
A::data_handle_type
타입의 (const 한정이 가능한) 값
|
| i , j , n | std:: size_t 타입의 값들 |
멤버 타입
| 유형 | 정의 | 요구 사항 |
|---|---|---|
A::element_type
|
미지정 |
|
A::data_handle_type
|
미지정 [1] |
|
A::reference
|
미지정 [2] |
|
A::offset_policy
|
OP
|
|
멤버 함수
| 표현식 | 반환 타입 | 의미론 |
|---|---|---|
| a. access ( p, i ) | typename A :: reference |
|
| a. offset ( p, i ) |
typename
A
::
offset_policy
::
data_handle_type
|
|
접근 가능 범위
인덱스 범위
[
0
,
N
)
는 주어진 데이터 핸들과 액세서에 대해
접근 가능 범위
입니다. 이는 해당 범위 내의 각 인덱스에 대해
access
멤버 함수가 유효한 요소 참조를 생성하는 경우를 의미합니다.
표준 라이브러리
다음 표준 라이브러리 타입들은 AccessorPolicy 요구사항을 충족합니다:
|
(C++23)
|
mdspan
요소에 대한 인덱스 기반 접근을 위한 타입
(클래스 템플릿) |
|
(C++26)
|
mdspan
요소에 대한 정렬된 접근을 위한 타입
(클래스 템플릿) |
std::linalg
네임스페이스에 정의됨
|
|
|
(C++26)
|
참조가 고정된 스케일링 인자와 중첩된
std::mdspan
접근자의 참조의 곱을 나타내는
std::mdspan
접근자 정책
(클래스 템플릿) |
|
(C++26)
|
참조가 중첩된
std::mdspan
접근자의 참조의 복소 공액을 나타내는
std::mdspan
접근자 정책
(클래스 템플릿) |