std:: incrementable_traits
|
헤더 파일에 정의됨
<iterator>
|
||
|
template
<
class
I
>
struct incrementable_traits { } ; |
(1) | (C++20부터) |
|
template
<
class
T
>
requires
std::
is_object_v
<
T
>
|
(2) | (C++20부터) |
|
template
<
class
T
>
struct
incrementable_traits
<
const
T
>
|
(3) | (C++20부터) |
|
template
<
class
T
>
requires requires
{
typename
T
::
difference_type
;
}
|
(4) | (C++20부터) |
|
template
<
class
T
>
requires
(
!
requires
{
typename
T
::
difference_type
;
}
)
&&
|
(5) | (C++20부터) |
타입
I
의 연관된 차이 유형(difference type)을 계산합니다(존재하는 경우). 프로그램은
프로그램 정의 타입
에 대해
incrementable_traits
를 특수화할 수 있습니다.
difference_type
을 정의하는 타입들에 대한 특수화.
difference_type
을 제공하며, 이는
T::difference_type
와 동일합니다.
difference_type
을 정의하지 않지만 뺄셈을 지원하는 타입들에 대한 특수화
difference_type
을 제공하며, 이는
std::
make_signed_t
<
decltype
(
std::
declval
<
T
>
(
)
-
std::
declval
<
T
>
(
)
)
>
와 동일합니다. 암시적 표현 변형 규칙(아래 참조)은 표현식
a
-
b
에 적용됩니다.
암시적 표현 변형
상수 lvalue 피연산자에 대해 비수정적인 표현식을 사용하는 requires expression 는 암시적 표현식 변형 도 요구합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
(C++20)
|
semiregular
타입이 전위 및 후위 증가 연산자로 증가될 수 있음을 명시
(concept) |
|
(C++20)
(C++20)
(C++23)
(C++20)
(C++20)
(C++20)
|
반복자의 연관된 타입들을 계산
(alias template) |
|
반복자의 속성에 대한 통일된 인터페이스를 제공
(class template) |