Standardization

N4221: Generalized lifetime extension -- David Krauss

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4221

Date: 2014-10-10

Generalized lifetime extension

by David Krauss

Excerpt:

A model is introduced to describe the association between a value, and the object or objects needed to represent it. This enables a generalization of lifetime extension, applicable to constructors and accessor functions which opt in using the export keyword. The current lifetime extension behavior is also more elegantly described, and the “temporary expression” controversy is resolved. This resolves EWG 120 and many other dangling reference issues.

N4220: An update to the preprocessor specification (rev. 2) -- David Krauss

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4220

Date: 2014-10-10

An update to the preprocessor specification (rev. 2)

by David Krauss

Excerpt:

This proposal updates the preprocessor specification to remove undefined behavior, missing specifications, and possible contradictions, and to better document implementation differences. It resolves CWG DR 268, 366, 897, 1436, 1625, 1698, 1709, 1718, and 1882. Issues related to universal-character-names are not addressed here, but in N4219.

N4219: Fixing the specification of universal-character-names (rev. 2) -- David Krauss

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4219

Date: 2014-10-10

Fixing the specification of universal-character-names (rev. 2)

by David Krauss

Excerpt:

The present paper will review several corner cases, considering the natural response of models A, B, and C, and the actual behavior of GCC and Clang. This leads to a specification permitting implementation flexibility without ambiguity.

N4211-13: File System TS Issues Lists -- Beman Dawes

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document numbers: N4211-13

Date: 2014-10-11

File System TS Active Issues List (Revision R3)

File System TS Closed Issues List (Revision R3)

File System TS Defect Report List (Revision R3)

by Beman Dawes

N4183: Contiguous Iterators: Pointer Conversion & Type Trait -- Nevin Liber

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4183

Date: 2014-10-10

Contiguous Iterators: Pointer Conversion & Type Trait

by Nevin Liber

Excerpt:

This is a proposal to:

  • Add a mechanism for converting a contiguous iterator to a pointer
  • A type trait for contiguous iterators
It builds upon the discussion in Issaquah on the previous version of this paper (n3884) and is dependent on n4132 Contiguous Iterators by Jens Maurer.

N4190: Removing auto_ptr, random_shuffle(), And Old Stuff -- Stephan T. Lavavej

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4190

Date: 2014-10-09

Removing auto_ptr, random_shuffle(), And Old Stuff

by Stephan T. Lavavej

Excerpt:

The C++ Standard is big.  We should make it smaller by removing stuff we don't need anymore, like features that have been deprecated for years and thoroughly superseded by more modern machinery.

N4161: Uniform Container Erasure (Revision 1) -- Stephan T. Lavavej

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4161

Date: 2014-10-09

Uniform Container Erasure (Revision 1)

by Stephan T. Lavavej

Excerpt:

This is a proposal to add erase_if(container, pred) and erase(container, value), making it easier to eliminate unwanted elements correctly and efficiently.  This updates N4009 (see [1]) which proposed erase_if(), by adding erase() and answering additional questions.  Please see the original proposal for the rationale behind this feature, which is not repeated here.

N4206-08: Evolution Issues Lists -- Ville Voutilainen

New WG21 papers are available. Copies are linked below, and will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document numbers: N4206-08

Date: 2014-10-09

C++ Standard Evolution Active Issues List (Revision R09)

C++ Standard Evolution Completed Issues List (Revision R09)

C++ Standard Evolution Closed Issues List (Revision R09)

by Ville Voutilainen

Excerpt:

The purpose of this document is to record the status of issues which have come before the Evolution Working Group (EWG) of the INCITS PL22.16 and ISO WG21 C++ Standards Committee. Issues represent potential defects in the ISO/IEC IS 14882:2003(E) document, and proposed extensions to it.

N4177: Multidimensional bounds, index and array_view, revision 4 -- Ɓukasz Mendakiewicz, Herb Sutter

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4177

Date: 2014-10-06

Multidimensional bounds, index and array_view, revision 4

by Łukasz Mendakiewicz and Herb Sutter

Excerpt:

Revision 4 (N4177) contains the following changes: ...

Revision 3 (N4087) incorporates the feedback received in Rapperswil from LEWG and some other minor fixes: ...

Thanks to Stephan T. Lavavej, Matthew Fioravante, Robert Kawulak and the members of LEWG for the suggested improvements. Thanks to the interlocutors at ISO C++ Standard -- Future Proposals forum for the valuable feedback. Thanks to all correspondents expressing feedback in private emails. 

N4178: Proposed resolution for Core Issue 330 -- Jens Maurer

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4178

Date: 2014-10-07

Proposed resolution for Core Issue 330: Qualification conversions and pointers to arrays of pointers

by Jens Maurer

Excerpt:

This paper presents the proposed resolution for core issue 330 as reviewed in teleconferences of WG21's Core Working Group, substantially cleaning up the wording around qualification converions. Other than allowing the qualification conversions asked for in the issue, it also changes reinterpret_cast so that it may now cast away constness. For example,

reinterpret_cast<int *>((const void *)0)

is ill-formed in C++14 due to the provision in 5.2.10 [expr.reinterpret.cast] paragraph 2 "The reinterpret_cast operator shall not cast away constness (5.2.11 expr.const.cast)". The wording changes below will remove this restriction, thus the example above will become well-formed. Given the general nature of reinterpret_cast, the restriction on casting away constness appeared as a rather odd constraint.