October 2014

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

Ranges for the Standard Library -- Eric Niebler

Fresh over the weekend, and in this morning's Standardization feed:

N4128: Ranges for the Standard Library

by Eric Niebler

From the article:

Eleven months ago, I began work on an updated range library for modern C++. Yesterday, I submitted a proposal to the C++ standardization committee to add ranges to the Standard Library. The proposal presents a vision for a future Standard Library that is familiar and yet more powerful, more usable, and more efficient than today’s.

My goal is nothing less than to change how C++ programmers write code. Seriously.

N4128: Ranges for the Standard Library, Revision 1 -- Eric Niebler

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

Date: 2014-10-10

Ranges for the Standard Library, Revision 1

by Eric Niebler

Excerpt:

This paper outlines what support for ranges in the C++ standard library might look like. Rather than presenting a final design, this paper proposes a set of concepts and guidelines for using them to implement range-based versions of the standard algorithms. It draws inspiration from the Boost.Range[4] library, the range algorithms in Adobe Source Libraries[1], Elements of Programming by Stepanov and McJones (2009) [20], and from N3351 “A Concept Design for the STL” by Stroustrup and Sutton (2012) [21]. In addition to presenting the concepts and guidelines, this paper discusses the rationale behind each, weighing different design options.

The decision to defer any discussion about specific wording was taken in recognition of the fact that any range design is likely to undergo significant revision by the committee. The paper is intended merely as a starting point for discussion and as a basis for future work.

This paper assumes the availability of Concepts Lite; however, everything suggested here has been implemented in C++11, where Concepts Lite has been simulated with the help of generalized SFINAE for expressions.

N4165: Unified Call Syntax -- 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: N4165

Date: 2014-10-04

Unified Call Syntax

by Herb Sutter

Excerpt:

Like [1], this paper proposes generalizing the member call syntax x.f(a,b) or x->f(a,b) to allow calling nonmembers.

N4176: Thoughts about comparisons -- Bjarne Stroustrup

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

Date: 2014-10-11

Thoughts about comparisons

by Bjarne Stroustrup

Excerpt:

This is a summary of some of the discussion of my Default Comparisons draft. It lists the various proposals and compares them according to a set of criteria. I would be particularly interested in comments about the choice of comparison criteria (pun intended).