add new directory sprout/algorithm/cxx14/

This commit is contained in:
bolero-MURAKAMI 2013-10-31 18:57:41 +09:00
parent 39d60a514f
commit 040278bd11
76 changed files with 1165 additions and 761 deletions

View file

@ -9,22 +9,6 @@
#define SPROUT_ALGORITHM_RANDOM_SHUFFLE_HPP
#include <sprout/config.hpp>
#include <sprout/algorithm/iter_swap.hpp>
namespace sprout {
//
// 25.3.12 Random shuffle
//
template<typename RandomAccessIterator, typename RandomNumberGenerator>
inline SPROUT_CXX14_CONSTEXPR void
random_shuffle(RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator&& rand) {
if (first == last) {
return;
}
for (auto it = first + 1; it != last; ++it) {
sprout::iter_swap(it, first + rand(it - first + 1));
}
}
} // namespace sprout
#include <sprout/algorithm/cxx14/random_shuffle.hpp>
#endif // #ifndef SPROUT_ALGORITHM_RANDOM_SHUFFLE_HPP