Standardization

New paper: N3701, Concepts Lite (2nd revision) -- A. Sutton, B. Stroustrup, G. Dos Reis

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-28

Concepts Lite (2nd revision)

by A. Sutton, B. Stroustrup, G. Dos Reis

Excerpt:

This paper is in its 2nd revision. There have been a number of substantial
changes, which are summarize here.

  • The syntax of constrained member functions has changed.
  • The syntax of the requires expression has changed.
  • We have introduced syntax for constraining generic lambdas, and using constraints wherever auto is used.
  • We allow the use of overload sets as arguments to constrained functions.
  • The standard wording has been more extensively developed, but does not yet include language for constrained generic lambdas.

This paper is organized like this:

  • Tutorial: introduces the new features specified by Concepts Lite, their core concepts and examples.
  • User’s guide: provides a more extensive discussion of the proposed features and demonstrates the completeness of the constraints mechanism. We also include some high-level discussion of the language mechanics.
  • Discussion: explains what constrains are not. In particular, we try to outline constraint’s relation to concepts and to dispel some common misconceptions about concepts.
  • Design Notes: Notes on the design of terse notation for templates and generic lambdas.
  • Language definition: presents a semi-formal definition of constraints

New paper: N3700, Hierarchical Data Structures and Related Concepts -- B. Reiter, R. Rivera

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-22

Hierarchical Data Structures and Related Concepts for the C++ Standard Library

by B. Reiter, R. Rivera

Excerpt:

This paper proposes the addition of library components covering tree structures and related concepts to Programming Languages -- C++. The proposal is based on work towards a Boost Tree component library.

The library strives to cover many of the relevant aspects within the vast field linked to the notion of trees in computer science.

New paper: N3699, A proposal to add a generalized callable negator -- Tomasz KamiƄski

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-05-27

A proposal to add a generalized callable negator

by Tomasz Kamiński

Excerpt:

The standard negators not1 and not2 accept only unary and binary functors that define argument_type or first_argument_type and second_argument_type respectively, which make them unusable with results of standard library functions such as bind and mem_fn. Furthermore, with relation to N3421, they cannot be used with new operator functor specializations.

This proposal addresses the problem by introducing a template function not_fn that returns complement of arbitrary predicate.

New paper: N3694, Feature-testing recommendations for C++ -- Clark Nelson

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-27

Feature-testing recommendations for C++

by Clark Nelson

Excerpt:

For the sake of improved portability between partial implementations of various C++ standards, WG21 (the ISO technical committee for the C++ programming language) recommends that implementers and programmers follow the guidelines in this document concerning feature-test macros.

New paper: N3698, July 25-26 Santa Clara SG1 Meeting Announcement and Agenda -- Hans Boehm

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-30

July 25-26 Santa Clara SG1 Meeting Announcement and Agenda

by Hans Boehm

Excerpt:

Location

Nvidia, 2701 San Tomas Expressway, Santa Clara, CA. Meet at Building E lobby.

Agenda

2 Discuss parallellism and concurrency extensions for future C++ standards

2.1 Discuss previously submitted concurrency proposals that were insufficiently addressed at the Bristol meeting.

2.2 Discuss other proposals.

New paper: N3693, Working Draft, Technical Specification -- File System -- Beman Dawes

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-28

Working Draft, Technical Specification -- File System

by Beman Dawes

Excerpt:

This Technical Specification specifies requirements for implementations of an interface that computer programs written in the C++ programming language may use to perform operations on file systems and their components, such as paths, regular files, and directories.

New paper: N3695, SG5: Transactional Memory Meeting Minutes 2013/03/11-2013/06/10 -- Michael Wong

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-28

SG5: Transactional Memory (TM) Meeting Minutes 2013/03/11-2013/06/10

by Michael Wong

Excerpt:

Contents

Minutes for 2013/03/11 SG5 Conference Call ... 2

Minutes for 2013/04/08 SG5 Conference Call ... 10

Minutes for 2013/04/29 SG5 Conference Call ... 14

Minutes for 2013/05/13 SG5 Conference Call ... 23

Minutes for 2013/06/03 SG5 Conference Call ... 25

Minutes for 2013/06/10 SG5 Conference Call ... 30

New paper: N3696, Proposal to extend atomic with priority update functions -- Bronek Kozicki

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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

Date: 2013-06-26

Proposal to extend atomic with priority update functions

by Bronek Kozicki

Excerpt:

Paper [1] identifies a range of concurrent algorithms which, when implemented using the above described primitive, exhibit very good performance characteristics. If such algorithms were to become more popular in C++ , it would be useful to provide the primitive in <atomic>, rather than rely on the user to "Bring Your Own". This would serve the purpose of establishing a primitive which can be used for reasoning about, writing and reading of such concurrent algorithms, as well as allow users to automatically benefit from the hardware support for certain specializations of these operations, where it is available [2].

New paper: N3697, WG21 Business Plan and Convener's Report -- 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: N3697

Date: 2013-06-25

WG21 Business Plan and Convener's Report

by Herb Sutter

Excerpt:

2.1. MARKET REQUIREMENTS

ISO C++ remains a widely-used foundation technology, well-received in the marketplace.

Although C++ has long been a consistently popular language, since 2011 in particular it has enjoyed a renewed cycle of growth and investment in tools and platform support across the industry. This was driven primarily by the C++11 standard's completion at the same time as the industry saw a resurgence of interest in performance-efficient, hardware-efficient, and especially power-efficient systems programming capability for mobile devices, cloud data centers, high-performance financial systems, vector and GPGPU computing (via nonstandard extensions to C++ that we are now investigating standardizing), and other major growth sectors and environments.

This new cycle of industry investment in C++ includes, but is not limited to, investment in:
  • tools, such as the advent of a new major C++ implementation in the Clang compiler and other major new products actively competing to fully implement the latest ISO C++ standard;
  • organization, with the establishment of the Standard C++ Foundation trade association in 2012 (see isocpp.org/about);
  • standardization participation, so that at our most recent meeting WG21 attendance reached 107 experts organized into 16 active subgroups -- this includes 12 domain-specific subgroups (e.g., networking, transactional memory) that were established since 2012 and have drawn domain experts who did not previously participate in C++ standardization; and
  • faster and more predictable standardization output, for example that WG21 is on track to produce in 2014 a "C++14 wave" of one revised International Standard and three Technical Specifications (File System library, Networking library, and Concepts template constraints language extensions).

New paper: N3692, C++ Editor's Report, May 2013 -- Stefanus Du Toit

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

Date: 2013-05-16

C++ Editor's Report, May 2013

by Stefanus Du Toit

This is the editor's report on applying the changes approved at Bristol to produce the updated working draft and Committee Draft that was posted here yesterday.

Excerpt:

Statistics: The latest draft adds wording from 64 CWG issues, 11 CWG papers, 36 LWG issues, 14 LWG papers, 5 SG1 issues, and 1 SG1 paper.

... For a full list of editorial changes, please see the C++ draft repository on GitHub.