Title
No definition for base()
Status
c++11
Section
[rand.adapt.disc]
Submitter
INCITS

Created on 2010-08-25.00:00:00 last changed 161 months ago

Messages

Date: 2010-11-29.10:49:30

Proposed resolution:

  1. Add the following sentence to the end of [rand.req.adapt]/1:

    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.

  2. Change in [rand.adapt.disc]/3, class template discard_block_engine synopsis, the following declaration:
    // property functions
    const Engine& base() const noexcept;
    
  3. Add the following new prototype description at the end of sub-clause [rand.adapt.disc]:
    const Engine& base() const noexcept;
    

    ? Returns: e.

  4. Change in [rand.adapt.ibits]/4, class template independent_bits_engine synopsis, the following declaration:
    // property functions
    const Engine& base() const noexcept;
    
  5. Add the following new prototype description at the end of sub-clause [rand.adapt.ibits]:
    const Engine& base() const noexcept;
    

    ? Returns: e.

  6. Change in [rand.adapt.shuf]/3, class template shuffle_order_engine synopsis, the following declaration:
    // property functions
    const Engine& base() const noexcept;
    
  7. Add the following new prototype description at the end of sub-clause [rand.adapt.shuf]:
    const Engine& base() const noexcept;
    

    ? Returns: e.

Date: 2010-11-12.16:57:05

[ Batavia: waiting for WEB to review wording ]

Date: 2010-11-11.19:16:05

[ 2010 Batavia: The working group reviewed this issue, and recommended to add the following to the Proposed Resolution. ]

  • Append to paragraph 1 of [rand.req.adapt] (or at the Editor's discretion insert as a new paragraph following that paragraph): The expression 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.

Date: 2010-11-03.00:00:00

[ 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.

Date: 2010-10-31.22:52:41

[ Resolution proposed by ballot comment: ]

Give it the obvious definition.

Date: 2010-10-24.03:04:13

Addresses US-126

Each adaptor has a member function called base() which has no definition.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2011-04-11 11:23:23adminsetstatus: voting -> wp
2011-03-05 15:24:28adminsetstatus: ready -> voting
2010-11-29 10:49:30adminsetstatus: review -> ready
2010-11-12 16:57:05adminsetmessages: + msg5343
2010-11-12 16:57:05adminsetstatus: immediate -> review
2010-11-11 19:16:05adminsetmessages: + msg5333
2010-11-11 19:16:05adminsetstatus: open -> immediate
2010-11-03 21:20:39adminsetmessages: + msg5286
2010-11-03 21:20:39adminsetmessages: + msg5285
2010-10-31 22:52:41adminsetmessages: + msg5221
2010-10-24 03:04:13adminsetmessages: + msg4932
2010-08-25 00:00:00admincreate