P1068R11 Vector API for random number generation#6904
Conversation
| The effects of \tcode{generate_random(r, g)} shall be equivalent to | ||
| \tcode{ranges::generate(std::for\-ward<R>(r), ref(g))}. |
There was a problem hiding this comment.
Should we turn this into Preconditions?
There was a problem hiding this comment.
Uh, why? This is a constraint on the implementation, not the user.
There was a problem hiding this comment.
ranges::generate_random potentially calls a generate_random member function, and the generate_random member function is only provided by the user code (at this moment). In such a case, the equivalency can't be achieved if the generate_random member function doesn't have equivalent effects.
There was a problem hiding this comment.
Right, this is a requirement on user code
There was a problem hiding this comment.
... But only if the generator has a suitable member function that gets used here.
There was a problem hiding this comment.
Ok. So, going back to the original concern here: should this be a Precondition instead?
There was a problem hiding this comment.
Yes, but maybe we should do that as an LWG issue, since I think it needs something non-trivial like "if the first or second bullet below is used, then the behaviour is equivalent to the third bullet" ... but in proper standardese.
There was a problem hiding this comment.
OK -- the new WD is in the mailing, so please feel free to file issues against N4981!
67a42a5 to
b4bfd07
Compare
b4bfd07 to
544406f
Compare
Editorial notes: * adjust subclause labels * adjust subclause heading to fit the surroundings
544406f to
feb3cbe
Compare
Fixes #6885
Fixes cplusplus/papers#409