Namespaces
Variants

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

From 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 의 각 차원에서 기본 범위 비교
(함수)