Created on 2011-05-28.00:00:00 last changed 143 months ago
Proposed resolution:
This wording is relative to the FDIS.
Modify the header <iterator> synopsis in [iterator.synopsis]:
namespace std {
[…]
template <class Iterator>
move_iterator<Iterator> make_move_iterator(const Iterator&Iterator i);
[…]
}
Modify the class template move_iterator synopsis in [move.iterator]:
namespace std {
[…]
template <class Iterator>
move_iterator<Iterator> make_move_iterator(const Iterator&Iterator i);
}
Modify [move.iter.nonmember]:
template <class Iterator> move_iterator<Iterator> make_move_iterator(const Iterator&Iterator i);-3- Returns: move_iterator<Iterator>(i).
[ 2011 Bloomington. ]
Move to Ready.
The standard library always passes template iterators by value and never by reference, which has the nice effect that an array decays to a pointer. There is one exception: make_move_iterator.
#include <iterator>
int main(){
int a[]={1,2,3,4};
std::make_move_iterator(a+4);
std::make_move_iterator(a); // fails here
}
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2014-02-20 13:20:35 | admin | set | status: wp -> c++14 |
| 2012-02-12 18:36:43 | admin | set | status: voting -> wp |
| 2012-02-09 04:07:48 | admin | set | status: ready -> voting |
| 2011-08-16 23:35:18 | admin | set | messages: + msg5856 |
| 2011-08-16 23:35:18 | admin | set | status: new -> ready |
| 2011-05-28 20:35:30 | admin | set | messages: + msg5796 |
| 2011-05-28 00:00:00 | admin | create | |