N4077: Experimental shared_ptr for Library Fundamentals TS -- Jonathan Wakely

This paper was approved at the June ISO C++ meeting for the Library Fundamentals TS.

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

Date: 2014-06-20

Experimental shared_ptr for Library Fundamentals TS

by Jonathan Wakely

Excerpt:

This paper provides wording to the effect that it creates independent fundamental-ts types in namespace std::experimental for shared_ptr, weak_ptr, owner_less, enable_shared_from_this, and all relevant functions and hash specializations.

N4067: Experimental std::function etc. -- Daniel Krügler

This paper was approved at the June ISO C++ meeting for the Library Fundamentals TS.

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

Date: 2014-06-20

Experimental std::function etc.

by Daniel Krügler

Excerpt:

This paper provides wording to the effect that it creates independent fundamental-ts types in namespace std::experimental for function, promise, and packaged_task.

N4076: A proposal to add a generalized callable negator (Revision 4) -- Tomasz Kaminski

This paper was approved at the June ISO C++ meeting for the Library Fundamentals TS.

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

Date: 2014-06-17

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

by Tomasz Kaminski

Excerpt:

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

N4059: Spring 2015 C++ Standards Committee Meeting -- Michael Price

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

Date: 2014-07-03

Spring 2015 C++ Standards Committee Meeting

by Michael Price

Excerpt:

Perceptive Software is pleased to host the Spring 2015 C++ Standards Committee Meeting on May 4-9, 2015.

Meeting location

Perceptive Software World Headquarters
8900 Renner Blvd.
Lenexa, Kan. 66219

(Located within the Kansas City metropolitan area)

N4073: A Proposal to Add 2D Graphics Rendering and Display to C++, Rev 2 -- McLaughlin, Sutter, Zink

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

Date: 2014-07-03

A Proposal to Add 2D Graphics Rendering and Display to C++, Revision 2

by Michael B. McLaughlin, Herb Sutter, Jason Zink

Excerpt:

The goal of this proposal is to define a 2D drawing API for the C++ programming language. This proposal is a revision of N4021. It resolves some defects in that document and adds several features which were intended for N4021 but were not completed in time. It was presented in draft form to SG13 at the Rapperswil meeting in June 2014. Based on the consensus feedback received at the meeting, a full Technical Specifications section written in the language, style, and format of the ISO/IEC C++ Standard will be included in the next revision of this proposal.

N4116: Nested Namespace Definition (rev 1) -- Andrew Tomazos and Robert Kawulak

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

Date: 2014-07-02

Nested Namespace Definition (rev 1)

by Andrew Tomazos and Robert Kawulak

Excerpt:

EWG did meet and discuss N4026 in Rapperswil, including each of the open issues. Several
different votes were taken. By far the strongest consensus was for just the basic facility with no
attributes, no aliases and no inline:

SF: 11 F: 5 N: 3 A: 0 SA: 0

Furthermore, if it is implemented in this configuration, these extra features can always be added
later by a separate proposal.

We therefore formally propose that the following wording corresponding to the “basic facility” be
added to the working draft: ...

N4055: Ruminations on (node-based) containers and noexcept -- Ville Voutilainen

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

Date: 2014-07-02

Ruminations on (node-based) containers and noexcept

by Ville Voutilainen

Excerpt:

There are quite many standard containers that do not have noexcept move constructors required by their synopsis. Implementations can strengthen such a noexcept-specification as per [res.on.exception.handling]/1: "Any of the functions defined in the C ++ standard library can report a failure by throwing an exception of a type described in its Throws: paragraph. An implementation may strengthen the exception-specification for a non-virtual function by adding a non-throwing noexcept-specification."

The issue is that this means that the performance of operations such as vector<T>::push_back becomes dependent on the noexcept-specification of the move constructor of T, and if T has a container member, the noexcept-specification of that container influences the noexcept-specification of the move constructor of T in implementation-specific ways.

This paper explores the reasons of why container move constructors are not noexcept on some implementations. A very good explanation is written below.

This paper also makes some moderate suggestions on what the solution(s) should be.

Nicolai Josuttis proposes some of those moderate suggestions in his paper N4002.

N4113: Reflection Type Traits For Classes, Unions and Enumerations (rev 3) -- A. Tomazos, C. 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: N4113

Date: 2014-07-02

Reflection Type Traits For Classes, Unions and Enumerations (rev 3)

by Andrew Tomazos and Christian Kaeser

Excerpt:

We propose the addition of two new kinds of type trait, and four new type traits to the Metaprogramming and Type Traits Standard Library [meta] for the purposes of lowlevel reflection of classes, unions and enumerations. These primitives are thin wrappers for compiler instrinsics, require zero core language changes, and are designed to be consistent with the existing [meta] library. Pure library authors can then compose the primitives to provide higher-level reflection libraries and facilities.

This proposal revises N4027 in accordance with SG7 feedback from Rapperswil (N4027 revises
N3815 with SG7 feedback from Issequah).

CppCon 2014 Program Available -- Boris Kolpackov

cppcon-2014-program-excerpt.pngThis is the day we've been waiting for: The CppCon 2014 Program is now available, with over 100 one-hour sessions by over 70 speakers.

Early Bird extended to July 9: Because there were many more good talk submissions than could fit into even a full-week six-track conference, the Program Committee needed an extra week to finalize the program selection. Early Bird registration was scheduled to end a week after the program was available to make sure that everyone could see the program in time for Early Bird, so the Early Bird registration has therefore also been extended to match, and will close on July 9. Register today for "the" C++ event of 2014.

Here's the announcement on cppcon.org:

CppCon 2014 Program Available

by Boris Kolpackov

The CppCon 2014 Program is now available with talk titles, abstracts, and speakers. The program contains over 100 one-hour sessions by over 70 speakers including plenary sessions by Scott Meyers and Herb Sutter, as well as the keynotes by C++ creator Bjarne Stroustrup on Keeping Simple Things Simple and Mark Maimone on using C++ on Mars: Incorporating C++ into Mars Rover Flight Software.

The detailed schedule including the exact day and time of each talk will be posted in the coming weeks. We have also extended the Early Bird deadline to July 9 so you have a week to study the program and still get the Early Bird rate.

Finally, we would like to thank the program committee, the speakers on the program, and the many more who proposed talks which we unfortunately just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!