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

### 979. Bad example

Section: 23.5.3 [move.iterators] Status: NAD Editorial Submitter: Howard Hinnant Opened: 2009-02-03 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [move.iterators].

View all issues with NAD Editorial status.

Discussion:

23.5.3 [move.iterators] has an incorrect example:

> -2- [Example:

> >     set<string> s;
> >     // populate the set s
> >     vector<string> v1(s.begin(), s.end());          // copies strings into v1
> >     vector<string> v2(make_move_iterator(s.begin()),
> >                       make_move_iterator(s.end())); // moves strings into v2

> -- end example]

One can not move from a `set` because the iterators return `const` references.

[ Batavia (2009-05): ]

> We agree with the proposed resolution. Move to NAD Editorial.

Proposed resolution:

Change 23.5.3 [move.iterators]/2:

> -2- [Example:

> >     setlist<string> s;
> >     // populate the setlist s
> >     vector<string> v1(s.begin(), s.end());          // copies strings into v1
> >     vector<string> v2(make_move_iterator(s.begin()),
> >                       make_move_iterator(s.end())); // moves strings into v2

> -- end example]