Skip to content
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

Merged
merged 2 commits into from Apr 16, 2024
Merged

Conversation

jensmaurer
Copy link
Member

  • adjust subclause labels
  • adjust subclause heading to fit the surroundings

Fixes #6885
Fixes cplusplus/papers#409

@jensmaurer jensmaurer added this to the post-2024-03 milestone Mar 25, 2024
Comment on lines +11628 to +11716
The effects of \tcode{generate_random(r, g)} shall be equivalent to
\tcode{ranges::generate(std::for\-ward<R>(r), ref(g))}.
Copy link
Contributor

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?

Copy link
Member Author

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.

Copy link
Contributor

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.

Copy link
Member

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

Copy link
Member

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.

Copy link
Member Author

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?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jwakely any thoughts?

Copy link
Member

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.

Copy link
Contributor

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!

source/support.tex Outdated Show resolved Hide resolved
source/support.tex Outdated Show resolved Hide resolved
Editorial notes:
  * adjust subclause labels
  * adjust subclause heading to fit the surroundings
@tkoeppe tkoeppe merged commit 6569d4c into main Apr 16, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants