[libc++] Fix LWG3422 "Issues of seed_seq's constructors"
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Sat, 22 Jan 2022 20:13:13 +0000 (15:13 -0500)
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Tue, 25 Jan 2022 01:14:25 +0000 (20:14 -0500)
commit8b29b84c99ac8140c9820fd34b733bdedf5bb0f5
treee066b6dde3e6c091686dd1fab508a619ca184ea6
parent6693c562f90925dd5214d86875a6f82ca5c6ef93
[libc++] Fix LWG3422 "Issues of seed_seq's constructors"

https://cplusplus.github.io/LWG/issue3422

Also add a static_assert to check the "Mandates:" on the
iterator-pair constructor. Oddly, the `InputIterator` parameter
itself is merely preconditioned, not constrained, to satisfy the
input iterator requirements.

Also drive-by rename `init` to `__init`.

Differential Revision: https://reviews.llvm.org/D117962
libcxx/docs/Status/Cxx2bIssues.csv
libcxx/include/__random/seed_seq.h
libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/default.pass.cpp
libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.pass.cpp
libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.verify.cpp [new file with mode: 0644]