New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we turn this into Preconditions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uh, why? This is a constraint on the implementation, not the user.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, this is a requirement on user code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... But only if the generator has a suitable member function that gets used here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. So, going back to the original concern here: should this be a Precondition instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jwakely any thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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