New paper: N3547, Three -related Proposals -- Walter Brown

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

Date: 2013-03-12

Three <random>-related Proposals

by Walter Brown

Excerpt:

This paper proposes (1) to add one function template to <algorithm>, (2) to add a few novice-friendly functions to <random>, and (3) to deprecate some related legacy interfaces. The unifying factor in this tripartite proposal is the entities’ respective connection with random numbers.

New paper: N3546, TransformationTraits Redux -- Walter Brown

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

Date: 2013-03-12

TransformationTraits Redux

by Walter Brown

Excerpt:

This paper proposes to augment C++11’s TransformationTraits with a number of template
aliases whose use dramatically simplifies the traits’ most common applications.

New paper: N3545, An Incremental Improvement to integral_constant -- Walter Brown

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

Date: 2013-03-12

An Incremental Improvement to integral_constant

by Walter Brown

Excerpt:

This paper proposes to add a constexpr operator() to the synopsis of integral_constant
in order to allow the template to serve as a source of compile-time function objects.

New paper: N3537, Clarifying Memory Allocation -- Lawrence Crowl and Chandler Carruth

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

Date: 2013-03-12

Clarifying Memory Allocation

by Lawrence Crowl and Chandler Carruth

Excerpt:

The allocation and deallocation of memory has become a significant expense in modern systems. ...

An essential requirement on implementations is that they deliver usable memory, not that they have a particular sequence of calls. We propose to explicitly decouple the implementation calls from the abstract calls. ... Together these changes enable implementations to reduce the number of malloc calls by avoiding them or fusing them. However, it would only enable fusing mallocs together into larger mallocs provided it can prove that both mallocs have overlapping lifetimes (ended by corresponding calls to free) such that the peak allocated memory of the program remains unchanged.

New paper: N3533, C++ Concurrent Queues -- Lawrence Crowl and Chris Mysen

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

Date: 2013-03-12

C++ Concurrent Queues

by Lawrence Crowl and Chris Mysen

Excerpt:

This paper revises N3434 = 12-0043 - 2012-01-14 as follows.

  • Add more exposition.
  • Provide separate non-blocking operations.

  • Add a section on the lock-free queues.
  • Argue against push-back operations.

  • Add a cautionary note on the usefulness of is_closed().
  • Expand the cautionary note on the usefulness of is_empty(). Add is_full().

  • Add a subsection on element type requirements.
  • Add a subsection on exception handling.

  • Clarify ordering constraints on the interface.
  • Add a subsection on a lock-free concrete queue.

  • Add a section on content iterators, distinct from the existing streaming iterators section.
  • Swap front and back names, as requested.

  • General expository cleanup.
  • Add an 'Revision History' section.

New paper: N3532, C++ Dynamic Arrays -- Lawrence Crowl and Matt Austern

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

Date: 2013-03-12

C++ Dynamic Arrays

by Lawrence Crowl and Matt Austern

Excerpt:

Instead of adopting C variable-length arrays, we propose to define a new facility for arrays where the number of elements is bound at construction. We call these dynamic arrays, dynarray. In keeping with C++ practice, we wish to make dynarrays usable with more than just automatic variables. But to take advantage of the efficiency stack allocation, we wish to make dynarray optimizable when used as an automatic variable.

New paper: N3527, optional -- Fernando Cacciola and Andrzej KrzemieĊ„ski

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

Date: 2013-03-10

A proposal to add a utility class to represent optional objects (Revision 3)

by Fernando Cacciola and Andrzej Krzemieński

Excerpt:

Class template optional<T> proposed here is a type that may or may not store a value of type T in its storage space. Its interface allows to query if a value of type T is currently stored, and if so, to access it. The interface is based on Fernando Cacciola's Boost.Optional library, shipping since March, 2003, and widely used. It requires no changes to core language, and breaks no existing code.

New paper: N3544, SG5 Transactional Memory Meeting Minutes, 2013-02-25 - 2013-03-04 -- Michael Wong

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

Date: 2013-03-06

SG5: Transactional Memory (TM) Meeting Minutes 2013/02/25-2013/03/04

by Michael Wong

Excerpt:

Contents

Minutes for 2013/02/25 SG5 Conference Call ... 2

Minutes for 2013/03/04 SG5 Conference Call ... 9

C++11 Compiler Support Shootout -- Alex Korban

C++11 compiler support continues to grow across the industry, with leaders and laggards still all moving in the C++11 direction.

C++11 Compiler Support Shootout: Visual Studio, GCC, Clang, Intel

by Alex Korban

It’s been more than half a year since my last comparison of the C++11 support across different compilers. This time I’d like to see how different compilers stack up based on the documentation for the pre-release versions of these compilers.

The next release of GCC is 4.8 and the upcoming version of Clang is 3.3. If you use Visual Studio 2012, you can install an experimental CTP update released in November 2012 to get additional C++11 features.

...