Iterator library
From cppreference.com
< cpp
| C++ Reference | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Iterator library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterators are a generalization of pointers that allow C++ programs to access different containers in a uniform manner. Any algorithm that accepts iterators should accept regular pointers also.
Contents |
[edit] Iterator Types
Five iterator categories are defined, according to operations defined on them:
| |
| |
| |
| |
|
Forward iterators satisfy the requirements of input iterators
| This section is incomplete |
[edit] Iterator primitives
| provides uniform interface to the properties of an iterator (class template) | |
| empty class types used to indicate iterator categories (class) | |
| the basic iterator (class template) | |
[edit] Iterator adaptors
| iterator adaptor for reverse-order traversal (class template) | |
| (C++11) |
iterator adaptor which dereferences to an rvalue reference (class template) |
| (C++11) |
creates a std::move_iterator of type inferred from the argument (function template) |
| iterator adaptor for insertion at the end of a container (class template) | |
| creates a std::back_insert_iterator of type inferred from the argument (function template) | |
| iterator adaptor for insertion at the front of a container (class template) | |
| creates a std::front_insert_iterator of type inferred from the argument (function template) | |
| iterator adaptor for insertion into a container (class template) | |
| creates a std::insert_iterator of type inferred from the argument (function template) | |
[edit] Stream iterators
| input iterator that reads from std::basic_istream (class template) | |
| output iterator that writes to std::basic_ostream (class template) | |
| input iterator that reads from std::basic_streambuf (class template) | |
| output iterator that writes to std::basic_streambuf (class template) | |
[edit] Iterator Operations
| Defined in header <iterator>
| |
| advances an iterator by given distance (function) | |
| returns the distance between two iterators (function) | |
| (C++11) |
increment an iterator (function) |
| (C++11) |
decrement an iterator (function) |
[edit] Range Access
| Defined in header <iterator>
| |
| (C++11) |
returns an iterator to the beginning of a container or array (function) |
| (C++11) |
returns an iterator to the end of a container or array (function) |

