[iterators.general] # 24 Iterators library [[iterators]](./#iterators) ## 24.1 General [iterators.general] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6) This Clause describes components that C++ programs may use to perform iterations over containers ([[containers]](containers "23 Containers library")), streams ([[iostream.format]](iostream.format "31.7 Formatting and manipulators")), stream buffers ([[stream.buffers]](stream.buffers "31.6 Stream buffers")), and other ranges ([[ranges]](ranges "25 Ranges library"))[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L13) The following subclauses describe iterator requirements, and components for iterator primitives, predefined iterators, and stream iterators, as summarized in Table [76](#tab:iterators.summary "Table 76: Iterators library summary")[.](#2.sentence-1) Table [76](#tab:iterators.summary) — Iterators library summary [[tab:iterators.summary]](./tab:iterators.summary) | [🔗](#tab:iterators.summary-row-1) | **Subclause** | **Header** | | --- | --- | --- | | [🔗](#tab:iterators.summary-row-2)
[[iterator.requirements]](iterator.requirements "24.3 Iterator requirements") | Iterator requirements | | | [🔗](#tab:iterators.summary-row-3)
[[iterator.primitives]](iterator.primitives "24.4 Iterator primitives") | Iterator primitives | | | [🔗](#tab:iterators.summary-row-4)
[[predef.iterators]](predef.iterators "24.5 Iterator adaptors") | Iterator adaptors | | | [🔗](#tab:iterators.summary-row-5)
[[stream.iterators]](stream.iterators "24.6 Stream iterators") | Stream iterators | | | [🔗](#tab:iterators.summary-row-6)
[[iterator.range]](iterator.range "24.7 Range access") | Range access | |