Namespaces
Variants

std::layout_stride:: mapping

From cppreference.net
헤더 파일에 정의됨 <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)
이 레이아웃 매핑이 항상 고유한지 결정함
(public static member function)
이 레이아웃 매핑이 항상 완전한지 결정함
(public static member function)
이 레이아웃 매핑이 항상 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 멤버 클래스 템플릿)