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) |