N4241: A proposal to add shared_mutex (untimed), (Revision 3) -- Gor Nishanov

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

Date: 2014-10-10

A proposal to add shared_mutex (untimed), (Revision 3)

by Gor Nishanov

Excerpt:

At the Issaquah ISO C++ meeting of 2014 shared_mutex was renamed to shared_timed_mutex per proposal N3891 to follow the naming precedent set by timed_mutex and recursive_timed_mutex and to leave room for an untimed shared_mutex which can be more efficient on some platforms than shared_timed_mutex.

This paper introduces a shared_mutex type without timed locking requirement. This paper only includes the proposed wording. For background for shared locking please refer to N3568, N3659 and N3891.
This revision is a minor edit of an earlier paper N3995 that adds a missing unlock() and native_handle() member functions.

N4134: Resumable Functions v.2 -- Gor Nishanov, Jim Radigan

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

Date: 2014-10-10

Resumable Functions v.2

by Gor Nishanov, Jim Radigan

Excerpt:

This document supersedes N3858 and N3977 and elaborates on extensibility and scalability of resumable functions.

N4214: A Module System for C++ (Revision 2) -- Gabriel Dos Reis, Mark Hall, Gor Nishanov

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

Date: 2014-10-13

A Module System for C++ (Revision 2)

by Gabriel Dos Reis, Mark Hall, Gor Nishanov

Excerpt:

We present a design of and a specification of module system for C++. The proposal focuses on programmer’s view of modules (both production and consumption) and how to better support modular programming in the large, componentization, scalable compilation, and semantics-aware developer tools.

Lightweight C++ options parser -- Jarryd Beck

Two regular expressions can go a long way.

Lightweight C++ options parser

by Jarryd Beck

From the article:

Using the new C++11 regular expressions, command line option parsing becomes trivial. I wrote a lightweight command line options parser because I was unsatisfied with all of the other libraries out there...

N4228: Refining Expression Evaluation Order for Idiomatic C++ -- G. Dos Reis, H. Sutter, J. Caves

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

Date: 2014-10-13

Refining Expression Evaluation Order for Idiomatic C++

by Gabriel Dos Reis, Herb Sutter, Jonathan Caves

Excerpt:

This paper proposes an order of evaluation of operands in expressions, directly supporting decades-old established and recommended C++ idioms. The result is the removal of embarrassing traps for novices and experts alike, increased confidence and safety of popular programming practices and facilities, hallmarks of modern C++.

User-defined literals -- Marius Bancila

Today on the Codexpert blog:

User-defined literals

by Marius Bancila

From the article:

The C++11 standard introduced the possibility to create user-defined literals, that are basically built-in type literals (integer, float, char or string) followed by a used-defined suffix. User-defined literals enable the creation of new objects based on the built-in literal value and the applied user-defined suffix.

auto temp = 77_fah;       // 77 Fahrenheit degrees = 25 Celsius degrees

auto size = 1_KB;         // 1 kilobyte = 1024 bytes

auto emp  = "marius"_dev; // a user defined type Developer 

N4229: Pointer ordering -- Gabriel Dos Reis

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

Date: 2014-10-13

Pointer ordering

by Gabriel Dos Reis

Excerpt:

This paper suggests a simple fix to an embarrassing glaring hole in the standard library section regarding pointer comparison function objects: that they yield the same result as the built-in comparison operators when the result is defined for the latter.

N4210: IBM comment on preparing for a Trigraph-adverse future in C++17 -- Wong, Tong, Bhakta, Inglis

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

Date: 2014-10-10

IBM comment on preparing for a Trigraph-adverse future in C++17

by Michael Wong, Hubert Tong, Rajan Bhakta, Derek Inglis

Excerpt:

In Rapperswil, EWG had a vote to remove Trigraph based on N3981...

IBM was asked by Bjarne to look at how many real users of EBCDIC that use trigraphs there remain and to return to EWG with a position. This paper summarizes that IBM position, give guidance for trigraph users moving forward, and outline IBM future voting plan on this issue. As such, we will tell the story of the Bad, the Good, and the Ugly.

N4182: SG5 Transactional Memory Meeting Minutes 2014/07/14-2014/10/06 -- Michael Wong

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

Date: 2014-10-10

SG5 Transactional Memory Meeting Minutes 2014/07/14-2014/10/06

by Michael Wong

Excerpt:

Minutes for 2014/07/14 SG5 Conference Call

Minutes for 2014/07/28 SG5 Conference Call

Minutes for 2014/08/11 SG5 Conference Call

Minutes for 2014/08/25 SG5 Conference Call

Minutes for 2014/09/08 SG5 Conference Call

Minutes for 2014/09/22 SG5 Conference Call

Minutes for 2014/10/06 SG5 Conference Call

N4180: SG5 Transactional Memory Support for C++ Update -- Michael Wong et al.

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

Date: 2014-10-10

SG5 Transactional Memory Support for C++ Update

by Michael Wong et al.

Excerpt:

This paper (N4180) is an update of the Transactional Memory design proposal outlined in N3999 based on feedbacks from Rapperswil Core and Library working group Review. A separate paper (N4179) describes the wording changes that support all the following changes.

Specifically, it describes these changes to N3999’s design...