This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
Section: 28.5.5.2 [rand.adapt.disc] Status: C++11 Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [rand.adapt.disc].
View all issues with C++11 status.
Discussion:
Addresses US-126
Each adaptor has a member function called base() which has no definition.
[ Resolution proposed by ballot comment: ]
Give it the obvious definition.
[ 2010-11-03 Daniel comments and provides a proposed resolution: ]
The following proposal adds noexcept specifiers to the declarations of the base() functions as replacement for a "Throws: Nothing" element.
[ 2010 Batavia: The working group reviewed this issue, and recommended to add the following to the Proposed Resolution. ]
After further review, the working group concurred with the Proposed Resolution.
[Batavia: waiting for WEB to review wording]
Proposed resolution:
A random number engine adaptor (commonly shortened to adaptor) a of type A is a random number engine that takes values produced by some other random number engine, and applies an algorithm to those values in order to deliver a sequence of values with different randomness properties. An engine b of type B adapted in this way is termed a base engine in this context. The expression a.base() shall be valid and shall return a const reference to a's base engine.
// property functions const Engine& base() const noexcept;
const Engine& base() const noexcept;? Returns: e.
// property functions const Engine& base() const noexcept;
const Engine& base() const noexcept;? Returns: e.
// property functions const Engine& base() const noexcept;
const Engine& base() const noexcept;? Returns: e.