Standardization

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.

C++14 Committee Draft (CD) Published at isocpp.org -- Michael Wong

[Ed.: Thanks to Michael Wong for sharing his commentary and perspective on the C++14 CD while on the scene at the C++Now conference. Posted at the IBM C/C++ Cafe blog.]

C++14 Committee Draft (CD) published at isocpp.org

C++14 Committee Draft is here and can be accessed at isocpp.org. This is in keeping with the practice of greater transparency ... [and] was also announced to the C++NOW crowd by Jens Weller at the Community evening session last night.

 

New paper: N3690, Programming Languages -- C++, Committee Draft

Note: This updated working draft contains all of the updates approved at the Bristol ISO C++ meeting to make this the C++14 Committee Draft. Today our project editor Stefanus Du Toit, wth the kind help of Jonathan Wakely and our editorial committee of Daniel Kruegler, Alisdair Meredith, Mike Miller, and Richard Smith, finished applying and verifying the updates voted in at Bristol. This document has now been transmitted to SC22 for circulation for C++14's primary international comment ballot.

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

Date: 2013-05-15

Programming Languages -- C++, Committee Draft

Thanks once again to the over 100 people who attended the Bristol meeting, and several hundred more who helped work on reaching this C++14 feature-complete milestone!

Once the ballot has completed, the next step will be to consider and address all of the national body comments, and then circulate an updated Draft International Standard (DIS) for its possibly-final ballot one level higher in ISO/IEC JTC1. For more information about the standards process and stages, please see Standardization | ISO/IEC JTC1 Procedures.

Post-Bristol standards papers mailing available

The official post-meeting standards papers mailing is now available. It includes papers adopted at the meeting, updated papers, and updated issues lists.

Please direct discussion to the public std-proposals forum.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
SD-1 2013 PL22.16/WG21 document list Clark Nelson 2013-05-07 2013-05      
SD-2 ISO WG21 and INCITS PL22.16 membership list Clark Nelson 2013-05-06 2013-05      
N3621 Minutes, WG21 Teleconference 2013-03-29 Kyle Kloepper 2013-03-29 2013-05      
N3622 Minutes: WG21 Meeting No. 55, 15-20 April 2013 - Bristol, UK Kyle Kloepper 2013-05-03 2013-05      
N3623 Minutes: PL22.16 Meeting No. 60, 15-20 April 2013 - Bristol, UK Kyle Kloepper 2013-05-03 2013-05      
N3624 Core Issue 1512: Pointer comparison vs qualification conversions (revision 3) Jens Maurer 2013-04-15 2013-05 N3498 Core Adopted 2013-04
N3625 A URI Library for C++ G. Matthews, D. Berris 2013-04-30 2013-05 N3507 Networking  
N3626 Floating-Point Typedefs Having Specified Widths P. Bristow, C. Kormanyos, J. Maddock 2013-04-05 2013-05   Numerics  
N3627 Relaxed switch statement Zhihao Yuan 2013-02-07 2013-05   Evolution  
N3628 C and C++ Compatibility Bjarne Stroustrup 2013-04-08 2013-05      
N3629 Simplifying C++0x Concepts Doug Gregor 2013-04-09 2013-05   Concepts  
N3630 async, ~future, and ~thread (Revision 1) Herb Sutter 2013-04-12 2013-05 N3451 Concurrency Revised N3636, N3637
N3631 C11: The New C Standard Thomas Plum   2013-05      
N3632 Additional std::async Launch Policies Peter Dimov 2013-04-11 2013-05   Concurrency  
N3633 What can signal handlers do? (CWG 1441) Hans Boehm 2013-4-25 2013-05 N3618 Concurrency  
N3634 Improvements to std::future<T> and Related APIs N. Gustafsson, A. Laksberg, H. Sutter, S. Mithani 2013-05-02 2013-05 N3558 Concurrency  
N3635 Towards restrict-like semantics for C++ M. Wong, R. Silvera, R. Mak, C. Cambly, et al. 2013-04-29 2013-05   Evolution  
N3636 ~thread should join Herb Sutter 2013-04-17 2013-05 N3630 Concurrency  
N3637 async and ~future (Revision 3) Herb Sutter 2013-04-17 2013-05 N3630 Concurrency  
N3638 Return type deduction for normal functions Jason Merrill 2013-04-17 2013-05 N3582 Core Adopted 2013-04
N3639 Runtime-sized arrays with automatic storage duration (revision 5) Jens Maurer 2013-04-16 2013-05 N3497 Core Adopted 2013-04
N3640 Extending shared_ptr to Support Arrays Peter Dimov 2013-04-15 2013-05   Library  
N3641 Extending make_shared to Support Arrays Peter Dimov 2013-05-02 2013-05   Library  
N3642 User-defined Literals for Standard Library Types (part 1 - version 4) Peter Sommerlad 2013-04-18 2013-05 N3531 Library Adopted 2013-04
N3643 Range Adaptor for Selecting from Pair or Tuple Alan Talbot 2013-04-16 2013-05 N3585 Ranges  
N3644 Null Forward Iterators Alan Talbot 2013-04-18 2013-05 N3585 Library Adopted 2013-04
N3645 Splicing Maps and Sets (Revision 1) A. Talbot, H. Hinnant, J. Dennett, J. Wakely 2013-05-04 2013-05 N3586 Library  
N3646 Network byte order conversion Robert Pratte 2013-04-16 2013-05 N3620 Networking  
N3647 Minutes: PL22.16 Meeting No. 59, 15-19 October 2012 Portland, Oregon, USA Kyle Kloepper 2013-04-15 2013-05 N3455    
N3648 Wording Changes for Generalized Lambda-capture D. Vandevoorde, V. Voutilainen 2013-04-17 2013-05 N3610 Evolution Adopted 2013-04
N3649 Generic (Polymorphic) Lambda Expressions (Revision 3) F. Vali, H. Sutter, D. Abrahams 2013-04-19 2013-05 N3559 Evolution Adopted 2013-04
N3650 Resumable Functions N. Gustafsson, D. Brewis, H. Sutter, S. Mithani 2013-05-02 2013-05 N3564 Concurrency  
N3651 Variable Templates (Revision 1) Gabriel Dos Reis 2013-04-19 2013-05 N3615 Evolution Adopted 2013-04
N3652 Relaxing constraints on constexpr functions / constexpr member functions and implicit const Richard Smith 2013-04-18 2013-05 N3597, N3598 Evolution Adopted 2013-04
N3653 Member initializers and aggregates V. Voutilainen, R. Smith 2013-04-17 2013-05 N3605 Evolution Adopted 2013-04
N3654 Quoted Strings Library Proposal (Revision 2) Beman Dawes 2013-04-19 2013-05 N3570 Library Adopted 2013-04
N3655 TransformationTraits Redux, v2 Walter E. Brown 2013-04-18 2013-05 N3546 Library Adopted 2013-04
N3656 make_unique (Revision 1) Stephan T. Lavavej 2013-04-18 2013-05 N3588 Library Adopted 2013-04
N3657 Adding heterogeneous comparison lookup to associative containers (rev 4) J. Wakely, S. Lavavej, J. Muñoz 2013-03-19 2013-05 N3465 Library Adopted 2013-04
N3658 Compile-time integer sequences Jonathan Wakely 2013-04-18 2013-05 N3493 Library Adopted 2013-04
N3659 Shared locking in C++ H. Hinnant, D. Vollmann, H. Boehm 2013-04-19 2013-05 N3568 Concurrency  
N3660 User-defined Literals for std::complex, part 2 of UDL for Standard Library Types (version 4) Peter Sommerlad 2013-04-19 2013-05 N3531 Library  
N3661 Digit Separators Lawrence Crowl 2013-04-19 2013-05 N3499 Evolution  
N3662 C++ Dynamic Arrays L. Crowl, M. Austern 2013-04-19 2013-05 N3532 Library Adopted 2013-04
N3663 C++ Sized Deallocation Lawrence Crowl 2013-04-30 2013-05 N3536 Core  
N3664 Clarifying Memory Allocation L. Crowl, C. Carruth, R. Smith 2013-04-19 2013-05 N3537 Core Adopted 2013-04
N3665 Uninterleaved String Output Streaming L. Crowl 2013-04-19 2013-05   Library  
N3666 C++ Latches and Barriers Alasdair Mackintosh 2013-04-18 2013-05 N3600 Concurrency  
N3667 Drafting for Core 1402 Jason Merrill 2012-04-16 2013-05   Core Adopted 2013-04
N3668 exchange() utility function, revision 3 Jeffrey Yasskin 2013-04-19 2013-05 N3608 Library Adopted 2013-04
N3669 Fixing constexpr member functions without const Nicolai Josuttis 2013-04-19 2013-05   Library Adopted 2013-04
N3670 Wording for Addressing Tuples by Type: Revision 2 Mike Spertus 2013-04-19 2013-05 N3584 Library Adopted 2013-04
N3671 Making non-modifying sequence operations more robust: Revision 2 M. Spertus, A. Pall 2013-04-19 2013-05 N3607 Library Adopted 2013-04
N3672 A proposal to add a utility class to represent optional objects (Revision 4) F. Cacciola, A. Krzemieński 2013-04-19 2013-05 N3527 Library Adopted 2013-04
N3673 C++ Library Working Group Ready Issues Bristol 2013 Daniel Krügler 2013-04-19 2013-05 N3522 Library Adopted 2013-04
N3674 C++ Standard Core Language Active Issues, Revision 84 William M. Miller 2013-05-03 2013-05 N3539 Core  
N3675 C++ Standard Core Language Defect Reports and Accepted Issues, Revision 84 William M. Miller 2013-05-03 2013-05 N3540 Core  
N3676 C++ Standard Core Language Closed Issues, Revision 84 William M. Miller 2013-05-03 2013-05 N3541 Core  
N3677 A Proposal to Add additional RAII Wrappers to the Standard Library Andrew L. Sandoval 2013-04-26 2013-05   Library  
N3678 C++ Stream Guards Lawrence Crowl 2013-04-30 2013-05   Concurrency  
N3679 Async() future destructors must wait Hans-J. Boehm 2013-5-05 2013-05   Concurrency  
N3680 Improving pair and tuple Daniel Krügler 2013-04-14 2013-05   Library  
N3681 Auto and braced-init lists Ville Voutilainen 2013-05-02 2013-05   Evolution  
N3682 C++ Standard Evolution Active Issues List (Revision R02) Ville Voutilainen 2013-04-29 2013-05 N3566 Evolution  
N3683 C++ Standard Evolution Completed Issues List (Revision R02) Ville Voutilainen 2013-04-29 2013-05   Evolution  
N3684 C++ Standard Evolution Closed Issues List (Revision R02) Ville Voutilainen 2013-04-29 2013-05 N3567 Evolution  
N3685 string_view: a non-owning reference to a string, revision 4 Jeffrey Yasskin 2013-05-03 2013-05 N3609 Library  
N3686 Traversable arguments for container constructors and methods, wording revision 3 Jeffrey Yasskin 2013-05-03 2013-05 N3513 Ranges  
N3687 C++ Standard Library Active Issues List (Revision R83) Alisdair Meredith 2013-05-06 2013-05 N3522 Library  
N3688 C++ Standard Library Defect Report List (Revision R83) Alisdair Meredith 2013-05-06 2013-05 N3523 Library  
N3689 C++ Standard Library Closed Issues List (Revision R83) Alisdair Meredith 2013-05-06 2013-05 N3524 Library  

Trip Report: ACCU 2013 and the C++ Standards Meeting -- Anthony Williams

Anthony Williams just posted another nice trip report on the recent standards meeting in Bristol, as well as a few words on the ACCU conference held back-to-back with the ISO meeting:

ACCU 2013 and the C++ Standards Meeting

by Anthony Williams

 

This year's ACCU conference was at a new venue: the Marriott hotel in Bristol. This is a bit closer to home for me than the previous venue in Oxford, which made the trip there and back more comfortable. As ever, the conference itself was enjoyable, educational and exhausting in equal measure.

 

This year was also BSI's turn to host the Spring ISO C++ committee meeting, which was conveniently arranged to be the week following ACCU, in the same hotel. Having not attended a meeting since the last time the committee met in the UK, I was glad to be able to attend this too. ...