Summer standards papers mailing available

Note: Some of these papers explore potential future standardization directions and alternatives. They do not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

The official mid-meeting standards papers mailing is now available. If you are not currently a committee member, please direct discussion about these papers to the public std-proposals forum.

Note: Most or all of these papers have also been posted already to this site’s Standardization RSS feed.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
Every WD change mentioned in any paper in this mailing should be interpreted as a possible future direction, not as a change to the CD currently under ballot.
N3690 Programming Languages - C++ Stefanus Du Toit 2013-05-15 2013-07 N3691    
N3691 Working Draft, Standard for Programming Language C++ Stefanus Du Toit 2013-05-16 2013-07 N3485    
N3692 C++ Editor's Report, October 2012 Stefanus Du Toit 2013-05-16 2013-07      
N3693 Working Draft, Technical Specification -- File System Beman Dawes 2013-06-28 2013-07 N3505 Filesystem  
N3694 Feature-testing recommendations for C++ Clark Nelson 2013-06-27 2013-07   Feature test  
N3695 SG5: Transactional Memory (TM) Meeting Minutes 2013/03/11-2013/06/10 Michael Wong 2013-06-28 2013-07      
N3696 Proposal to extend atomic with priority update functions Bronek Kozicki 2013-06-26 2013-07   Concurrency  
N3697 Business Plan and Convener's Report Herb Sutter 2013-06-25 2013-07      
N3698 July 25-26 Santa Clara SG1 Meeting Announcement and Agenda Hans-J. Boehm 2013-06-30 2013-07      
N3699 A proposal to add a generalized callable negator Tomasz Kamiński 2013-05-27 2013-07   Library  
N3700 Hierarchical Data Structures and Related Concepts for the C++ Standard Library B. Reiter, R. Rivera 2013-06-22 2013-07 N2101 Library  
N3701 Concepts Lite A. Sutton, B. Stroustrup, G. Dos Reis 2013-06-28 2013-07 N3580 Concepts  
N3702 Introducing an optional parameter for mem_fn, which allows to bind an object to its member function Mikhail Semenov 2013-06-28 2013-07   Library  
N3703 Extending std::search to use Additional Searching Algorithms (Version 3) Marshall Clow 2013-06-28 2013-07 N3606 Library  

New paper: N3703, Extending std::search to use Additional Searching Algorithms (v3) -- Marshall Clow

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

Date: 2013-06-28

Extending std::search to use Additional Searching Algorithms (Version 3)

by Marshall Clow

Excerpt:

Note:

  • This is an update of n3606, presented in Portland. The major differences are support for comparison predicates in Boyer-Moore and Boyer-Moore-Horspool, and wording for the standard.
  • n3606 was an update of n3411, presented in Portland. The major difference is a different interface for the search functions.

[...]

std::search is a powerful tool for searching sequences, but there are lots of other search algorithms in the literature. For specialized tasks, some of them perform significantly better than std::search. In general, they do this by precomputing statistics about the pattern to be searched for, betting that this time can be made up during the search.

The basic principle is to break the search operation into two parts; the first part creates a "search object", which is specific to the pattern being searched for, and then the search object is passed, along with the data being searched, to std::search.

This is done by adding an additional overload to std::search, and some additional functions to create the search objects. ...

New paper: N3702 Introducing an optional parameter for mem_fn -- Mikhail Semenov

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

Date: 2013-06-28

Introducing an optional parameter for mem_fn, which allows to bind an object to its member function

by Mikhail Semenov

Excerpt:

When a member function is used as a parameter to another function (the latter is usually called a functional) it is often necessary to provide the corresponding class object as a parameter as well. But functionals, like for example an integral, are often written to accept one global function. In cases when a member function and an object are needed, it is necessary to bind them together,  so that the result can be supplied to the corresponding functional as one parameter. ...

... The proposal is to allow mem_fn to accept a second, optional parameter.

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.

Quick Q: Are there significant differences between boost::bind and std::bind? -- StackOverflow

A few minutes ago on SO:

Should I be seeing significant differences between std::bind and boost::bind?

I'm exploring the support for C++11 on the 4.7 branch of g++ (Ubuntu/Linaro 4.7.3-2ubuntu~12.04, to be specific) and I seem to be finding differences. In particular, if I comment out the #include of boost/bind.hpp and systematically replace occurrences of boost::bind with std::bind in the Boost ASIO async client example (taken from http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio/example/http/client/async_client.cpp), the program no longer compiles. Any explanation for this?

 

Boost 1.54.0 released!

Release 1.54.0 of the Boost C++ Libraries is now available.

These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications.
The Boost license encourages both commercial and non-commercial use.

This release contains five new libraries and numerous enhancements and bug fixes for existing libraries.

New Libraries:
Log: Logging library, from Andrey Semashev.
TTI: Type Traits Introspection library, from Edward Diener.
Type Erasure: Runtime polymorphism based on concepts.

For details, including download links, see http://www.boost.org/users/news/version_1.54.0

You can also download directly from SourceForge: http://sourceforge.net/projects/boost/files/boost/1.54.0/

To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html

Thanks,

--The Boost release team

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.