1381. Replace pair's range support by proper range facility

Section: 99 [pair.range] Status: C++11 Submitter: BSI Opened: 2010-08-25 Last modified: 2016-01-28

Priority: Not Prioritized

View all issues with C++11 status.

Discussion:

Addresses GB-85

While std::pair may happen to hold a pair of iterators forming a valid range, this is more likely a coincidence than a feature guaranteed by the semantics of the pair template. A distinct range-type should be supplied to enable the new for-loop syntax rather than overloading an existing type with a different semantic.

If a replacement facility is required for C++0x, consider n2995.

[ Resolved in Rapperswil by a motion to directly apply the words from the ballot comment in N3102. ]

Proposed resolution:

Strike 20.3.5.4 and the matching declarations in 20.3 header synopsis.