Namespaces
Variants

std::extents<IndexType,Extents...>:: extents

From cppreference.net
constexpr extents ( ) = default ;
(1) (C++23부터)
template < class OtherIndexType, std:: size_t ... OtherExtents >

constexpr explicit ( /*아래 참조*/ )

extents ( const std:: extents < OtherIndexType, OtherExtents... > & other ) noexcept ;
(2) (C++23부터)
template < class ... OtherIndexTypes >
constexpr explicit extents ( OtherIndexTypes... exts ) noexcept ;
(3) (C++23부터)
template < class OtherIndexType, std:: size_t N >

constexpr explicit ( N ! = rank_dynamic ( ) )

extents ( std:: span < OtherIndexType, N > exts ) noexcept ;
(4) (C++23부터)
template < class OtherIndexType, std:: size_t N >

constexpr explicit ( N ! = rank_dynamic ( ) )

extents ( const std:: array < OtherIndexType, N > & exts ) noexcept ;
(5) (C++23부터)

extents 를 구성합니다. extents 는 저장되는 모든 값인 동적 익스텐트(dynamic extents)만으로 구성하거나, 선결 조건과 함께 모든 익스텐트로부터 구성할 수 있습니다.

1) 기본 생성자. 모든 동적 범위를 0으로 초기화합니다.
2) 다른 extents 객체로부터의 변환. 생성 후에는 * this == other true 입니다.
  • 다음 중 하나라도 참이면 동작은 정의되지 않음:
  • other. extent ( r ) ! = static_extent ( r ) 가 정적 범위를 나타내는 임의의 r 에 대해 성립하거나,
  • other. extent ( r ) IndexType 타입의 값으로 표현 불가능한 경우 other 내의 임의의 차원 값 r 에 대해.
  • 이 오버로드는 다음 조건이 충족될 때만 오버로드 해결에 참여함:
  • 이 생성자는 다음 조건이 충족되면 explicit 임:
3) N sizeof... ( exts ) , exts_arr std:: array < IndexType, N > { static_cast < IndexType > ( std :: move ( exts ) ) ... } 로 정의할 때, extents ( exts_arr ) 와 동등합니다.
  • 이 오버로드는 다음 조건을 만족할 때만 오버로드 해결에 참여합니다:
  • 다음 조건에서 동작은 정의되지 않습니다:
  • N ! = rank_dynamic ( ) 이고 정적 범위를 나타내는 임의의 r 에 대해 exts_arr [ r ] static_extent ( r ) 와 같지 않은 경우, 또는
  • exts 의 요소가 음수이거나 IndexType 타입의 값으로 표현할 수 없는 경우입니다.
4,5) 만약 N rank_dynamic ( ) 와 같다면, 모든 d 에 대해 [ 0 , rank_dynamic ( ) ) 범위 내에서 직접 비목록 초기화 를 수행하여 dynamic-extents [ d ] std:: as_const ( exts [ d ] ) 로 초기화합니다. 그렇지 않으면, 모든 d 에 대해 [ 0 , rank_dynamic ( ) ) 범위 내에서 직접 비목록 초기화를 수행하여 dynamic-extents [ d ] std:: as_const ( exts [ dynamic-index-inv ( d ) ] ) 로 초기화합니다.
  • 이 오버로드는 다음 조건에서만 오버로드 해결에 참여합니다:
  • 다음 조건에서 동작은 정의되지 않습니다:
  • N ! = rank_dynamic ( ) 이고 정적 범위를 나타내는 어떤 r 에 대해 exts [ r ] static_extent ( r ) 와 같지 않거나,
  • 어떤 랭크 인덱스 r 에 대해 exts [ r ] 가 음수이거나 IndexType 타입의 값으로 표현할 수 없는 경우입니다.

매개변수

other - 변환할 다른 extents
exts - extents를 나타냄

예제

참고 항목