This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

1313. Seed sequence's param function not useful for pure output iterator

Section: 29.5.8.1 [rand.util.seedseq] Status: NAD Submitter: Daniel Krügler Opened: 2010-02-07 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [rand.util.seedseq].

View all issues with NAD status.

Discussion:

The Seed sequence requirements (29.5.3.2 [rand.req.seedseq]) require the existence of a member function

template<typename OutputIterator>
void param(OutputIterator ob);

The fact that this function returns void instead of the value of ob after accepting the sequence data leads to the same problem as in issue 865(i) - In case of pure output iterators there is no way to serialize further data into that data sink.

[ 2010-02-07 Howard adds: ]

At the time this issue was opened, the suggested changes are with respect to an anticipated draft which does not yet exist.

[ 2010 Pittsburgh: ]

No technical counterarguments, but it is simply too late in the process to make this change at this point.

Proposed resolution:

  1. In Table 109 — Seed sequence requirements, expression "r.param(ob)" change the
    Return type entry:

    voidOutputIterator
    
  2. In 29.5.8.1 [rand.util.seedseq], class seed_seq synopsis change

    template<class OutputIterator>
    voidOutputIterator param(OutputIterator dest) const;