30% Therapy – 40% Practice – 30% Work project

C++ Library – <iterator>



Introduction

It is a pointer-like object that can be incremented with ++, dereferenced with *, and compared against another iterator with !=

Categories

category properties valid expressions
all categories copy-constructible,
copy-assignable and destructible

X b(a);

b = a;

It can be incremented

++a

a++

Random Access Bidirectional Forward Input It supports equality/inequality comparisons

a == b

a != b

It can be dereferenced as an rvalue

*a

a->m

Output

It can be dereferenced as an lvalue

(only for mutable iterator types)

*a = t

*a++ = t

default-constructible

X a;

X()

Multi-pass: neither dereferencing nor incrementing affects dereferenceability { b = a; *a++; *b; }
It can be decremented

--a

a–

*a–

It supports arithmetic operators
+
and
-

a + n

n + a

a – n

a – b

It supports inequality comparisons (
<,
>,
<= and
>=) between iterators

a < b

a > b

a <= b

a >= b

It supports compound assignment operations
+= and
-=

a += n

a -= n

It supports offset dereference operator ([]) a[n]

Functions

Sr.No. Functions & Description
1

It advances the iterator it by n element positions.

2

It returns distance between iterators.

3

It is used to begin an iterator.

4

It is used to end an iterator.

5

It is used to get iterator to previous element.

6

It is used to get iterator to next element.

Iterator generators

Sr.No. Iterator generators & Description
1

It constructs back insert iterator.

2

It constructs insert iterator

3

It construct move iterators.

Classes

Sr.No. Classes & Description
1

It iterators base class.

2

It is an iterator traits.

Predefined iterators

Sr.No. Predefined iterators & Description
1

It is a reverse iterator.

2

It is a move iterator.

3

It is a back insert iterator.

4

It is a front insert iterator.

5

It is used to insert an iterator.

6

It is an input stream iterator.

7

It is an output stream iterator.

8

It is an input stream buffer iterator.

7

It is an output stream buffer iterator.

Category tags

Sr.No. Category tags & Description
1

Input iterator category.

2

output iterator category.

3

Forward iterator category.

4

Bidirectional iterator category.

5

Random-access iterator category.

Translate »