This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD Concepts status.

### 1063. 03 iterator compatibilty

Section: 99 [iterator.backward] Status: NAD Concepts Submitter: Alisdair Meredith Opened: 2009-03-15 Last modified: 2016-01-28

Priority: Not Prioritized

View all issues with NAD Concepts status.

Discussion:

Which header must a user `#include` to obtain the library-supplied `concept_maps` declared in this paragraph?

This is important information, as existing user code will break if this header is not included, and we should make a point of mandating this header is `#include`-d by library headers likely to make use of it, notably `<algorithm>`. See issue 1001 for more details.

[ Batavia (2009-05): ]

> We agree with the direction of the proposed resolution. Move to Tentatively Ready.

[ 2009-07 Frankfurt ]

> We believe this is NAD Concepts, but this needs to be reviewed against the post-remove-concepts draft.

Proposed resolution:

Change [depr.lib.iterator.primitives], Iterator primitives, as indicated:

> To simplify the use of iterators and provide backward compatibility with previous C++ Standard Libraries, the library provides several classes and functions. Unless otherwise specified, these classes and functions shall be defined in header `<iterator>`.

Change 99 [iterator.backward], Iterator backward compatibility, as indicated:

> The library provides concept maps that allow iterators specified with `iterator_traits` to interoperate with algorithms that require iterator concepts. These concept maps shall be defined in the same header that defines the iterator. [Example: