This Clause describes components that C++ programs may use to perform iterations over containers (Clause ISO/IEC 14882:2014 §[containers]), streams ( ISO/IEC 14882:2014 §[iostream.format]), and stream buffers ( ISO/IEC 14882:2014 §[stream.buffers]).
The following subclauses describe iterator requirements, and components for iterator primitives, predefined iterators, and stream iterators, as summarized in Table [tab:iterators.lib.summary].
| Subclause | Header(s) | |
| [iterator.requirements] | Iterator requirements | |
| [indirectcallable] | Indirect callable requirements | |
| [commonalgoreq] | Common algorithm requirements | |
| [iterator.primitives] | Iterator primitives | <experimental/ranges/iterator> |
| [iterators.predef] | Predefined iterators | |
| [iterators.stream] | Stream iterators | |