Title
auto_ptr is overspecified
Status
c++11
Section
[auto.ptr]
Submitter
Alisdair Meredith

Created on 2009-10-24.00:00:00 last changed 154 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Add the term "exposition only" in the following two places:

Ammend [auto.ptr]p2:

The exposition only class Ttemplate auto_ptr_ref holds a reference to an auto_ptr. It is used by the auto_ptr conversions to allow auto_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
Date: 2009-11-14.00:00:00

[ 2009-11-14 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]

Date: 2009-11-06.00:00:00

[ 2009-11-06 Howard moves issue to Review. ]

Date: 2009-11-06.00:00:00

[ 2009-11-06 Alisdair adds Daniel's suggestion to the proposed wording. ]

Date: 2009-10-25.00:00:00

[ 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.

Date: 2009-10-24.00:00:00

This issue is extracted as the ongoing point-of-interest from earlier issue 463.

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

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2010-10-21 18:28:33adminsetmessages: + msg1305
2010-10-21 18:28:33adminsetmessages: + msg1304
2010-10-21 18:28:33adminsetmessages: + msg1303
2010-10-21 18:28:33adminsetmessages: + msg1302
2010-10-21 18:28:33adminsetmessages: + msg1301
2009-10-24 00:00:00admincreate