std:: incrementable_traits <std::common_iterator>
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Helper classes | ||||
|
incrementable_traits
<std::common_iterator>
(C++20)
|
||||
|
헤더에 정의됨
<iterator>
|
||
|
template
<
class
I,
class
S
>
struct
incrementable_traits
<
std::
common_iterator
<
I, S
>>
{
|
(C++20 이후) | |
std::common_iterator 타입의 연관된 차이 유형에 대한 통일된 인터페이스를 제공합니다.
예제
#include <cstddef> #include <iterator> #include <list> #include <string> #include <type_traits> int main() { using CI = std::common_iterator< std::counted_iterator<int*>, std::default_sentinel_t>; using CL = std::common_iterator< std::counted_iterator<std::list<std::string>::iterator>, std::default_sentinel_t>; CL cl{std::default_sentinel}; static_assert( std::same_as<std::incrementable_traits<CI>::difference_type, std::ptrdiff_t> && std::same_as<std::incrementable_traits<CL>::difference_type, std::ptrdiff_t> && std::same_as<std::incrementable_traits<decltype(cl)>::difference_type, std::ptrdiff_t>); }
참고 항목
|
(C++20)
|
weakly_incrementable
타입의 차이 타입을 계산함
(클래스 템플릿) |
|
(C++20)
(C++20)
(C++23)
(C++20)
(C++20)
(C++20)
|
반복자의 연관 타입들을 계산함
(앨리어스 템플릿) |
|
std::common_iterator
타입의 속성에 대한 통일된 인터페이스를 제공함
(클래스 템플릿 특수화) |