Mark LWG 2716 as complete - shuffle and sample disallows lvalue URNGs.
authorEric Fiselier <eric@efcs.ca>
Sun, 28 Aug 2016 21:55:00 +0000 (21:55 +0000)
committerEric Fiselier <eric@efcs.ca>
Sun, 28 Aug 2016 21:55:00 +0000 (21:55 +0000)
commit040411762fde039dcd1a7f513d95d01266bfa94d
tree338fa1d4c00cf3359ee9a454ba34b53d073ca798
parent61c0b0c32a0a14003f65c84d3bceec7eb3c10c3d
Mark LWG  2716 as complete - shuffle and sample disallows lvalue URNGs.

Libc++'s implementation of shuffle and sample already support lvalue and rvalue
RNG's. This patch adds tests for both categories and marks the issue as complete.

This patch also contains drive-by change for std::experimental::sample which
improves the diagnostics produced when the correct iterator categories are
not supplied.

llvm-svn: 279947
libcxx/include/experimental/algorithm
libcxx/test/libcxx/iterators/trivial_iterators.pass.cpp
libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp
libcxx/test/std/experimental/algorithms/alg.random.sample/sample.fail.cpp
libcxx/test/std/experimental/algorithms/alg.random.sample/sample.pass.cpp
libcxx/www/cxx1z_status.html