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.

N3840: A Proposal for the World’s Dumbest Smart Pointer, v3 -- 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: N3840

Date: 2014-01-01

A Proposal for the World’s Dumbest Smart Pointer, v3

by Walter E. Brown

Excerpt:

This paper proposes observer_ptr, a (not very) smart pointer type that takes no ownership responsibility for its pointees, i.e., for the objects it observes. As such, it is intended as a near drop-in replacement for raw pointer types, with the advantage that, as a vocabulary type, it indicates its intended use without need for detailed analysis by code readers.