Namespaces
Variants

operator== (std::layout_stride::mapping)

From ko.cppreference.net
template < class OtherMapping >

friend constexpr bool operator == ( const mapping & lhs,

const OtherMapping & rhs ) noexcept ;
(C++23부터)

서로 다른 레이아웃 타입을 가질 수 있는 두 레이아웃 매핑을 기본 extents와 strides를 기준으로 비교합니다.

레이아웃 매핑 lhs 와 rhs 가 다음 조건 모두가 true 일 때 동등함을 비교합니다:

  • lhs. extents ( ) 와 rhs. extents ( ) 가 모두 동일하고,
  • OFFSET ( rhs ) 이 ​ 0 ​ 과 같으며,
  • 모든 랭크 인덱스 r 에 대해 (범위 [ ​ 0 ​ , lhs. extents ( ) . rank ( ) ) ), lhs. stride ( r ) 가 rhs. stride ( r ) 와 동일한 경우

여기서 OFFSET ( rhs ) 는 다음과 같습니다:

  • rhs ( ) , 만약 rhs. extents ( ) . rank ( ) 이 ​ 0 ​ 인 경우,
  • 그렇지 않으면 ​ 0 ​ , 다차원 인덱스 공간의 크기 rhs. extents ( ) 이 ​ 0 ​ 인 경우,
  • 그렇지 않으면 rhs ( z... ) , 정수 팩 z 가 rhs. extents ( ) 내의 다차원 인덱스이고 z 의 각 요소가 ​ 0 ​ 와 같은 경우.

이 오버로드는 다음의 모든 제약 조건이 충족될 경우에만 오버로드 해결에 참여합니다:

  • layout-mapping-alike < OtherMapping > 을 만족하고,
  • rank_ == OtherMapping :: extents_type :: rank ( ) 이 true 이며,
  • OtherMapping :: is_always_strided ( ) 이 true 인 경우

( rank_ 는 std :: layout_stride :: mapping 에서 정의된 설명 전용( exposition-only ) 정적 멤버 상수입니다.)

만약 OtherMapping 이 LayoutMapping 요구사항을 충족하지 않으면, 동작은 정의되지 않습니다.

목차

매개변수

lhs, rhs - 비교할 익스텐트와 스트라이드를 가진 레이아웃 매핑

반환값

true 만약 lhs 와 rhs 가 위에서 명시된 대로 동일하다면, false 그렇지 않다면

예제

참고 항목

이 layout_left 레이아웃 매핑을 다른 매핑과 비교
(함수 템플릿)
이 layout_right 레이아웃 매핑을 다른 매핑과 비교
(함수 템플릿)
(C++23)
두 extents 의 각 차원에서 기본 범위 비교
(함수)