Movatterモバイル変換


[0]ホーム

URL:



This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++11 status.

1438. No definition forbase()

Section: 29.5.5.2[rand.adapt.disc]Status:C++11Submitter: INCITSOpened: 2010-08-25Last modified: 2016-01-28

Priority:Not Prioritized

View all otherissues in [rand.adapt.disc].

View all issues withC++11 status.

Discussion:

Addresses US-126

Each adaptor has a member function calledbase() 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 addsnoexcept specifiers to the declarations ofthebase() 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:

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

    Arandom number engine adaptor (commonly shortened toadaptor)a of typeA is arandom number engine that takes values produced by some other random number engine, and applies an algorithm tothose values in order to deliver a sequence of values with different randomness properties. An enginebof typeB adapted in this way is termed abase engine in this context. The expressiona.base() shall be valid and shall return a const reference toa's base engine.

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

    ?Returns:e.

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

    ?Returns:e.

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

    ?Returns:e.


[8]ページ先頭

©2009-2026 Movatter.jp