This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
1247.auto_ptr
is overspecified
Section: 99 [auto.ptr] Status: C++11 Submitter: Alisdair Meredith Opened: 2009-10-24 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [auto.ptr].
View all issues with C++11 status.
Discussion:
This issue is extracted as the ongoing point-of-interest from earlier issue 463(i).
auto_ptr
is overspecified as the auto_ptr_ref
implementation detail is formally specified, and the technique is observable so workarounds for compiler defects can cause a working implementation of the primary auto_ptr
template become non-conforming.
auto_ptr_ref
is a documentation aid to describe a possible mechanism to implement the class. It should be marked exposition only, as per similar classes, e.g., istreambuf_iterator::proxy
[ 2009-10-25 Daniel adds: ]
I wonder, whether the revised wording shouldn't be as straight as for
istream_buf
by adding one further sentence:An implementation is permitted to provide equivalent functionality without providing a class with this name.
[ 2009-11-06 Alisdair adds Daniel's suggestion to the proposed wording. ]
[ 2009-11-06 Howard moves issue to Review. ]
[ 2009-11-14 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]
Proposed resolution:
Add the term "exposition only" in the following two places:
Ammend 99 [auto.ptr]p2:
The exposition only class T template
auto_ptr_ref
holds a reference to anauto_ptr
. It is used by theauto_ptr
conversions to allowauto_ptr
objects to be passed to and returned from functions. An implementation is permitted to provide equivalent functionality without providing a class with this name.namespace std { template <class Y> struct auto_ptr_ref { }; // exposition only
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4