N4029: Let return Be Direct and explicit -- Herb 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: N4029

Date: 2014-05-23

Let return Be Direct and explicit

by Herb Sutter

Excerpt:

This paper proposes also permitting explicit conversions from the return's expression to the return type, and generally viewing return-by-value as direct initialization of the returned value.

N3991: Task Region, r2 -- P. Halpern, A. Robison, H. Hong, A. Laksberg, G. Nishanov, 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: N3991

Date: 2014-05-23

Task Region r2

by Pablo Halpern, Arch Robison, Hong Hong, Artur Laksberg, Gor Nishanov, Herb Sutter

Excerpt:

1 Abstract

This paper introduces C++ a library function template task_region and a library class task_region_handle with member functions run and wait that together enable developers to write expressive and portable fork-join
parallel code.

This proposal is a revision of N3832.

2 Changes from N3832

The main change from the previous revision of this paper is the addition of the task_region_handle class as an explicit means of communicating from a task_region to the spawn point of a child task. A change in this vein was requested at the February 2014 Issaquah meeting as a way to avoid “magic” or “out-of-band communication.” It was also suggested that requiring an explicit handshake between these parts of a task region would make it easier for compilers and linkers to avoid combining disparate implementations of the library proposed herein.

An additional change is that the type of parallelism described in N3832 was “terminally strict” whereas the type of parallelism described in this paper is “fully strict” (see Strict Fork-join Parallelism, below). The change was made because terminal strictness was deemed to present implementation difficulties for little gain in expressiveness.

These changes created an issue not present in the original paper: potential violations of fully-strict fork-join parallelism. A few sentences in the formal wording and a new issue in the issues section was added to the
paper in response.

Finally, task_cancelled_exception was renamed to task_canceled_exception (one el instead of two).

N4031: make_array, revision 1 -- Zhihao Yuan

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: N4031

Date: 2014-05-22

make_array, revision 1

by Zhihao Yuan

Excerpt:

Changes since N3824

  • Editorial wording updates.
  • Comments updates.

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