[libc++] Granularize the <random> header. NFCI.
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Fri, 19 Nov 2021 19:58:51 +0000 (14:58 -0500)
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Mon, 22 Nov 2021 18:24:27 +0000 (13:24 -0500)
commit344cef6695e9af05ed9fa5bb96b3a475c7a4df4b
tree4d1bae6d540bee62258ddba8d65caa0a56be0663
parent5f18ae39880fa9e67fbfe9dcc2c3f18242626daf
[libc++] Granularize the <random> header. NFCI.

Actually there's one functional change here, which is that users can
no longer depend on <random> to include all of C++20 <concepts>. That
inclusion is so new that we believe nobody should be depending on it
yet, even in the presence of Hyrum's Law. We keep the includes of <vector>,
<algorithm>, etc., so as not to break pre-C++20 Hyrum's Law users.

Differential Revision: https://reviews.llvm.org/D114281
73 files changed:
libcxx/include/CMakeLists.txt
libcxx/include/__random/bernoulli_distribution.h [new file with mode: 0644]
libcxx/include/__random/binomial_distribution.h [new file with mode: 0644]
libcxx/include/__random/cauchy_distribution.h [new file with mode: 0644]
libcxx/include/__random/chi_squared_distribution.h [new file with mode: 0644]
libcxx/include/__random/default_random_engine.h [new file with mode: 0644]
libcxx/include/__random/discard_block_engine.h [new file with mode: 0644]
libcxx/include/__random/discrete_distribution.h [new file with mode: 0644]
libcxx/include/__random/exponential_distribution.h [new file with mode: 0644]
libcxx/include/__random/extreme_value_distribution.h [new file with mode: 0644]
libcxx/include/__random/fisher_f_distribution.h [new file with mode: 0644]
libcxx/include/__random/gamma_distribution.h [new file with mode: 0644]
libcxx/include/__random/generate_canonical.h [new file with mode: 0644]
libcxx/include/__random/geometric_distribution.h [new file with mode: 0644]
libcxx/include/__random/independent_bits_engine.h [new file with mode: 0644]
libcxx/include/__random/is_seed_sequence.h [new file with mode: 0644]
libcxx/include/__random/knuth_b.h [new file with mode: 0644]
libcxx/include/__random/linear_congruential_engine.h [new file with mode: 0644]
libcxx/include/__random/log2.h [new file with mode: 0644]
libcxx/include/__random/lognormal_distribution.h [new file with mode: 0644]
libcxx/include/__random/mersenne_twister_engine.h [new file with mode: 0644]
libcxx/include/__random/negative_binomial_distribution.h [new file with mode: 0644]
libcxx/include/__random/normal_distribution.h [new file with mode: 0644]
libcxx/include/__random/piecewise_constant_distribution.h [new file with mode: 0644]
libcxx/include/__random/piecewise_linear_distribution.h [new file with mode: 0644]
libcxx/include/__random/poisson_distribution.h [new file with mode: 0644]
libcxx/include/__random/random_device.h [new file with mode: 0644]
libcxx/include/__random/ranlux.h [new file with mode: 0644]
libcxx/include/__random/seed_seq.h [new file with mode: 0644]
libcxx/include/__random/shuffle_order_engine.h [new file with mode: 0644]
libcxx/include/__random/student_t_distribution.h [new file with mode: 0644]
libcxx/include/__random/subtract_with_carry_engine.h [new file with mode: 0644]
libcxx/include/__random/uniform_int_distribution.h
libcxx/include/__random/uniform_random_bit_generator.h [new file with mode: 0644]
libcxx/include/__random/uniform_real_distribution.h [new file with mode: 0644]
libcxx/include/__random/weibull_distribution.h [new file with mode: 0644]
libcxx/include/module.modulemap
libcxx/include/random
libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/log2.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.module.verify.cpp [new file with mode: 0644]
libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/params.fail.cpp