May 2014

N4027: Type Member Property Queries (rev 2) -- Andrew Tomazos, Christian Kaeser

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 number: N4027

Date: 2014-05-22

Type Member Property Queries (rev 2)

by Andrew Tomazos, Christian Kaeser

Excerpt:

We propose the addition of a set of property queries and helper types to the Metaprogramming and Type Traits Standard Library, for the purposes of compile-time reflection of user-defined types.

N4024: Distinguishing coroutines and fibers -- Nat Goodspeed and Oliver Kowalke

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 number: N4024

Date: 2014-05-22

Distinguishing coroutines and fibers

by Nat Goodspeed and Oliver Kowalke

Excerpt:

The purpose of this paper is to foreshadow a forthcoming proposal to introduce fibers to the C++ standard library; to briefly describe the features in the proposed fiber library; and to contrast it with the coroutine library proposed in N39856.

It is hoped that this comparison will help to clarify the feature set of the proposed coroutine library. Certain features properly belong in the coroutine library; other conceptually-related features more properly belong in the fiber library.

N4022: A proposal to add a generalized callable negator (Revision 2) -- Tomasz Kamiński

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 number: N4022

Date: 2014-05-21

A proposal to add a generalized callable negator (Revision 2)

by Tomasz Kamiński

Excerpt:

This proposal is to add function template not_fn that will allow to create negator of any callable object.

... Changes since N3800: Updated proposed wording per LWG guidance.

 

N4008: SIMD Polymorphism -- Arch Robison, Pablo Halpern, and Robert Geva

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 number: N4008

Date: 2014-05-22

SIMD Polymorphism

by Arch Robison, Pablo Halpern, and Robert Geva

Excerpt:

N3831 [1], presented at the February 2014 Issaquah meeting, proposed (among other things) adding SIMD-enabled functions to C++. Although there was significant interest in this concept, members of the committee felt that the description in N3831 would be improved by better integrating SIMD-enabled functions with the C++ type system. This paper explores such an integration. We show that though these functions exhibit a form of polymorphism, it is best kept distinct from the existing features for polymorphism in C++. In particular, SIMD polymorphism is best not treated as C++ template instantiation or overload resolution. Instead, we propose extending the C++ type system.

N4002: Cleaning‐up noexcept in the Library -- Nicolai Josuttis

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 number: N4002

Date: 2014-05-21

Cleaning‐up noexcept in the Library

by Nicolai Josuttis

Excerpt:

With N3279 we introduced some guidelines for how to use noexcept in the C++ Standard Library. However, after some years of experience, we learned that we have to

  • Improve these guidelines
  • Fix places where we agree that according to the old and new guidelines things are, or may be a problem
  • Discuss and decide whether (or not) to fix issues upon which we have no clear opinion

N3998: C++ Latches and Barriers (Revision 3) -- Alasdair Mackintosh and Olivier Giroux

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 number: N3998

Date: 2014-05-21

C++ Latches and Barriers (Revision 3)

by Alasdair Mackintosh and Olivier Giroux

Excerpt:

Revision History

... Add Concepts, simplify latch and barrier, add notifying_barrier
 

N4003-05: File System ITS ssues Lists -- Beman Dawes

New WG21 papers are available. Copies are linked below, and the papers 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: N4003-04

Date: 2014-03-23

Filesystem TS Active Issues List (Revision R0)

Filesystem TS Closed Issues List (Revision R0)

Filesystem TS Defect Report List (Revision R0)

by Beman Dawes

N4035: Implicit Evaluation of auto Variables and Arguments -- J Falcou, P Gottschling, H Sutter

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 number: N4035

Date: 2014-05-23

Implicit Evaluation of auto Variables and Arguments (revision 1)

by Joel Falcou, Peter Gottschling, Herb Sutter

Excerpt:

Revision to N3748

1. Prioritized syntax changed.

2. Third alternative introduced.

3. Library-based disabling introduced.

4. Some type traits removed.

Altogether, the proposal is a clear simpli cation to its predecessor.

1 Motivation

Type detection for variables from expressions' return type:

auto x= expr;

has proven high usability. However, it fails to meet most users' expectations and preferences when
proxies or expression templates (ET) are involved, e.g.:

matrix A, B;
// setup A and B
auto C= A  B;

Many people would expect C to be of type matrix as well. Whether C is a matrix depends on the
implementation of operator*. ...

N4009: Uniform Container Erasure -- Stephan T. Lavavej

[Ed.: Alternative title: "Finally! Let's please erase and remove the erase-remove idiom"...]

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 number: N4009

Date: 2014-05-22

Uniform Container Erasure

by Stephan T. Lavavej

Excerpt:

This is a proposal to add erase_if(container, pred), making it easier to eliminate unwanted elements correctly and efficiently.


II. The Problem

It's surprisingly difficult to eliminate unwanted elements from a container, given a predicate that distinguishes "bad" elements from "good" elements. ...

N3994: Range-Based For-Loops: The Next Generation (Revision 1) -- Stephan T. Lavavej

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 number: N3994

Date: 2014-05-22

Range-Based For-Loops: The Next Generation (Revision 1)

by Stephan T. Lavavej

Excerpt:

This updates N3853 (see [1]) which proposed the syntax "for (elem : range)", by adding support for attributes and answering additional questions. Please see the original proposal for the rationale behind this feature, which is not repeated here.

...

Q15. Has this been implemented?

A15. Yes!  David Vandevoorde and Jonathan Caves have reported that they were
able to implement N3853 in less than an hour each. ...