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.
base()
Section: 29.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. ]
a.base()
shall be valid and shall return a const reference to a
's base engine.
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 typeA
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 engineb
of typeB
adapted in this way is termed a base engine in this context. The expressiona.base()
shall be valid and shall return a const reference toa
's base engine.
discard_block_engine
synopsis, the following declaration:
// property functions const Engine& base() const noexcept;
const Engine& base() const noexcept;? Returns:
e
.
independent_bits_engine
synopsis, the following declaration:
// property functions const Engine& base() const noexcept;
const Engine& base() const noexcept;? Returns:
e
.
shuffle_order_engine
synopsis, the following declaration:
// property functions const Engine& base() const noexcept;
const Engine& base() const noexcept;? Returns:
e
.