std::layout_stride:: mapping
|
헤더 파일에 정의됨
<mdspan>
|
||
|
template
<
class
Extents
>
class layout_stride :: mapping ; |
(C++23부터) | |
클래스 템플릿
layout_stride::mapping
은 사용자 정의 스트라이드와 함께 다차원 인덱스가 오프셋을 나타내는 1차원 값으로 어떻게 매핑되는지 제어합니다.
mapping
의 모든 특수화는
LayoutMapping
이면서
TriviallyCopyable
타입이며,
regular
개념을 만족합니다.
다차원 인덱스 공간의 크기 Extents ( ) 가 Extents :: index_type 타입의 값으로 표현될 수 없을 때, 그리고 Extents :: rank_dynamic ( ) 가 0 일 때 프로그램은 형식이 올바르지 않습니다.
목차 |
템플릿 매개변수
| 익스텐트(Extents) | - |
차원 수, 크기, 컴파일 타임에 알려진 차원을 지정합니다.
std::extents
의 특수화(specialization)여야 합니다.
|
멤버 타입
| 멤버 타입 | 정의 |
extents_type
|
Extents
|
index_type
|
extents_type::index_type
|
size_type
|
extents_type::size_type
|
rank_type
|
extents_type::rank_type
|
layout_type
|
std::layout_stride |
멤버 상수
| 멤버 | 정의 |
constexpr
rank_type
rank_
(private)
[static]
|
extents_type
::
rank
(
)
( 설명 전용 정적 멤버 상수* ) |
데이터 멤버
| 멤버 | 정의 |
extents_type
extents_
(private)
|
익스텐트 객체
( 설명 전용 멤버 객체* ) |
std::
array
<
index_type, rank_
>
strides_
(private)
|
스트라이드 배열
( 설명 전용 멤버 객체* ) |
멤버 함수
|
새로운 매핑을 생성함
(public member function) |
|
|
operator=
(explicitly defaulted)
|
매핑을 할당함
(public member function) |
Observers |
|
|
extents 객체를 얻음
(public member function) |
|
|
stride 배열을 얻음
(public member function) |
|
|
매핑에 필요한 크기를 반환함
(public member function) |
|
|
다차원 인덱스를 오프셋 값으로 매핑함
(public member function) |
|
|
[static]
|
이 매핑이 고유한지 결정함 (모든 인덱스 조합이 서로 다른 기본 요소에 매핑됨)
(public static member function) |
|
이 매핑이 완전한지 결정함 (모든 기본 요소가 일부 인덱스 조합으로 접근 가능함)
(public member function) |
|
|
[static]
|
이 매핑이 strided인지 결정함 (각 차원에서 인덱스를 증가시킬 때마다 항상 동일한 수의 기본 요소를 건너뜀)
(public static member function) |
|
[static]
|
이 레이아웃 매핑이 항상 고유한지 결정함
(public static member function) |
|
[static]
|
이 레이아웃 매핑이 항상 완전한지 결정함
(public static member function) |
|
[static]
|
이 레이아웃 매핑이 항상 strided인지 결정함
(public static member function) |
|
지정된 차원을 따른 stride를 얻음
(public member function) |
|
비멤버 함수
layout_stride
의 이 레이아웃 매핑을 다른 매핑과 비교합니다
(함수 템플릿) |
|
subdmspan
에 사용되는 매핑과 데이터 핸들 오프셋을 계산합니다
(public 멤버 함수) |
참고 항목
|
layout_left
의 레이아웃 매핑
(
std::layout_left
의 public 멤버 클래스 템플릿)
|
|
|
layout_right
의 레이아웃 매핑
(
std::layout_right
의 public 멤버 클래스 템플릿)
|