ArticleDirectory
Chapt 7 iterators7.1 header file
Each container defines their own iterator type, so you usually do not need special header files to use iterator. However, there are several special iterator, such as reverse iteratos, which are defined in the header file <iteraor>. Similarly, you do not need to include this header file by yourself. They are already included by containers to define their own specific iterator.
7.2 iterator categories
Iterator category |
Ability |
Provider |
Input iterator |
Read, forward |
Istream |
Output iterator |
Write, forward |
Ostream, inserter |
Forward iterator |
Read/write, forward |
|
Bidirectional iterator |
Read/write, forward/backward |
List, set/Multiset, MAP/multimap |
Rabdin access iterator |
Read/write, Random Access |
Vector, deque, String, array |
7.2.1 input iterators
Supported operations:
Operation |
Input iterator |
Output iterator |
Forward iterator |
Bidirectional iterator |
Random Access iterator |
* ITER |
√ |
|
√ |
√ |
√ |
ITER-> Member |
√ |
|
√ |
√ |
√ |
* Iter = Value |
|
√ |
√ |
√ |
√ |
Iter1 = iter2 |
|
|
√ |
√ |
√ |
++ ITER |
√ |
√ |
√ |
√ |
√ |
ITER ++ |
√ |
√ |
√ |
√ |
√ |
-- ITER |
|
|
|
√ |
√ |
ITER -- |
|
|
|
√ |
√ |
Iter1 = iter2 |
√ |
|
√ |
√ |
√ |
Iter1! = Iter2 |
√ |
|
√ |
√ |
√ |
ITER [N] |
|
|
|
|
√ |
ITER + = N |
|
|
|
|
√ |
ITER-= N |
|
|
|
|
√ |
ITER + n |
|
|
|
|
√ |
N + ITER |
|
|
|
|
√ |
ITER-n |
|
|
|
|
√ |
Iter1-iter2 |
|
|
|
|
√ |
Iter1 <iter2 |
|
|
|
|
√ |
Iter1> iter2 |
|
|
|
|
√ |
Iter1 <= iter2 |
|
|
|
|
√ |
Iter1> = iter2 |
|
|
|
|
√ |
Type (ITER) |
√ |
√ |
√ |
√ |
√ |