std::iterator
std::iterator (반복자 기본 클래스)
반복자에 필요한 타입 정의를 단순화하기 위해 제공되는 기본 클래스예요. C++17에서 deprecated 되었어요.
출처: cppreference
본문
<iterator> 헤더에 정의돼 있어요.
template<
class Category,
class T,
class Distance = std::ptrdiff_t,
class Pointer = T*,
class Reference = T&
> struct iterator;
std::iterator는 반복자에 필요한 타입 정의를 단순화하기 위해 제공되는 기본 클래스예요.
템플릿 매개변수
Category— 반복자의 카테고리. 반복자 카테고리 태그 중 하나여야 해요.T— 반복자를 역참조해 얻을 수 있는 값의 타입. 출력 반복자에서는void여야 해요.Distance— 반복자 간 거리를 식별하는 데 쓸 수 있는 타입.Pointer— 반복 대상 타입(T)을 가리키는 포인터를 정의.Reference— 반복 대상 타입(T)에 대한 참조를 정의.
멤버 타입
| 멤버 타입 | 정의 |
|---|---|
iterator_category |
Category |
value_type |
T |
difference_type |
Distance |
pointer |
Pointer |
reference |
Reference |
C++17에서 더 이상 사용하지 않게(deprecated) 되었어요. 새 코드에서는 std::iterator_traits를 직접 정의하는 것을 권장해요.