std::experimental::ranges:: difference_type
|
헤더 파일에 정의됨
<experimental/ranges/iterator>
|
||
|
template
<
class
I
>
struct difference_type { } ; |
(1) | |
|
template
<
class
T
>
struct difference_type < T * > ; |
(2) | |
|
template
<
class
T
>
struct difference_type < const T > : difference_type < std:: decay_t < T >> { } ; |
(3) | |
|
template
<
class
T
>
requires requires
{
typename
T
::
difference_type
;
}
|
(4) | |
|
template
<
class
T
>
requires
!
requires
{
typename
T
::
difference_type
;
}
&&
|
(5) | |
타입
I
의 연관된 차이 유형(difference type)을 계산합니다(존재하는 경우). 사용자는 프로그램 정의 타입에 대해
difference_type
을 특수화할 수 있습니다.
T
가 객체 타입인 경우,
type
멤버 타입을
std::ptrdiff_t
와 동일하게 제공합니다. 그렇지 않은 경우,
type
멤버는 존재하지 않습니다.
difference_type
을 정의하는 타입들에 대한 특수화.
T::difference_type
와 동일한 멤버 타입
type
을 제공합니다.
difference_type
을 정의하지 않지만 뺄셈을 지원하는 타입들에 대한 특수화.
type
멤버 타입을
std::
make_signed_t
<
decltype
(
std::
declval
<
T
>
(
)
-
std::
declval
<
T
>
(
)
)
>
와 동일하게 제공합니다.
헬퍼 앨리어스 템플릿
|
template
<
class
T
>
using difference_type_t = typename ranges :: difference_type < T > :: type ; |
(범위 TS) | |
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
Semiregular
타입이 전위 및 후위 증가 연산자로 증가될 수 있음을 명시
(컨셉) |
|
|
반복자의 관련 타입들을 수집하는 호환성 특성 클래스
(앨리어스 템플릿) |