January 2014

N3856: Unforgetting standard functions min/max as constexpr -- Gabriel Dos Reis

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

Date: 2014-01-20

Unforgetting standard functions min/max as constexpr

by Gabriel Dos Reis

Excerpt:

This short paper proposes to make the standard functions min and max constexpr. They were top on the list of motivating cases for allowing reference parameters for constexpr functions in C++11. They were forgotten after the core language change was accepted.

N3854: Variable Templates For Type Traits -- Stephan T. Lavavej

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

Date: 2014-01-17

Variable Templates For Type Traits

by Stephan T. Lavavej

Excerpt:

This is a proposal to add variable templates like is_same_v<T, U> as less-verbose synonyms for type traits like is_same<T, U>::value.

N3853: Range-Based For-Loops: The Next Generation -- Stephan T. Lavavej

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

Date: 2014-01-17

Range-Based For-Loops: The Next Generation

by Stephan T. Lavavej

Excerpt:

This is a proposal to add the syntax "for (elem : range)". In addition to being easier for novices to learn and being clearer for everyone to read, this will encourage correctness and efficiency.

N3847: Random Number Generation is Not Simple! -- Walter E. 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: N3847

Date: 2014-01-01

Random Number Generation is Not Simple!

by Walter E. Brown

Excerpt:

We discuss several approaches to the modern generation of random numbers using the facilities in the C++11 standard library header <random>, and solicit feedback from LEWG and LWG as to which, if any, are suitable candidates for future standardization efforts.

N3846: Extending static_assert -- Walter E. 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: N3846

Date: 2014-01-01

Extending static_assert

by Walter E. Brown

Excerpt:

This paper provides proposed wording for several variants of an oft-requested feature: a default string literal for static_assert.

N3845: Greatest Common Divisor and Least Common Multiple -- Walter E. 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: N3845

Date: 2014-01-01

Greatest Common Divisor and Least Common Multiple

by Walter E. Brown

Excerpt:

This paper proposes two frequently-used classical numeric algorithms, gcd and lcm, for header <cstdlib>. The former calculates the greatest common divisor of two integer values, while the latter calculates their least common multiple. Both functions are already typically provided in behind-the-scenes support of the standard library’s <ratio> and <chrono> headers.

N3844: A SFINAE-Friendly std::iterator_traits -- Walter E. 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: N3844

Date: 2014-01-01

A SFINAE-Friendly std::iterator_traits

by Walter E. Brown

Excerpt:

This paper proposes to reformulate the specification of iterator_traits so as to avoid a hard error when its template argument does not have the member types expected of a non-pointer iterator, and thus to make the trait conveniently usable in a SFINAE context.

N3843: A SFINAE-Friendly std::common_type -- Walter E. 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: N3843

Date: 2014-01-01

A SFINAE-Friendly std::common_type

by Walter E. Brown

Excerpt:

This paper proposes to reformulate the specification of the common_type trait so as to avoid a hard error when there is no common type, and thus to make the trait conveniently usable in a SFINAE context.

N3842: A sample Proposal -- Walter E. 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: N3842

Date: 2014-01-01

A sample Proposal

by Walter E. Brown

Excerpt:

This paper proposes to add to the standard library an interface for two algorithms carrying out random sampling. Such algorithms have long been part of the original (SGI) implementation of the Standard Template Library.

N3841: Discouraging rand() in C++14 -- Walter E. 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: N3841

Date: 2014-01-01

Discouraging rand() in C++14

by Walter E. Brown

Excerpt:

In their final Chicago deliberations re [N3775] vis-à-vis National Body comment US21, LEWG and LWG achieved joint consensus (1) to deprecate std::random_shuffle for C++14 as proposed, and (2) to strengthen the existing Note in [c.math]/5 in order to further encourage rand() users to migrate to the <random> component of the C++11 standard library. This paper provides wording to implement these decisions.