#include <Randomizer.hxx>
|
| | Randomizer ()=default |
| |
| template<typename Iterator > |
| void | shuffle (Iterator begin, Iterator end) |
| |
| template<typename Iterator > |
| Iterator | choose (Iterator begin, Iterator end) |
| | Pick random item from container. More...
|
| |
|
| template<typename IntType > |
| using | UniformIntDist = std::uniform_int_distribution< IntType > |
| |
|
| static thread_local std::mt19937 | generator {std::random_device{}()} |
| |
Definition at line 9 of file Randomizer.hxx.
◆ UniformIntDist
template<typename IntType >
◆ Randomizer()
| Randomizer::Randomizer |
( |
| ) |
|
|
default |
◆ choose()
template<typename Iterator >
| Iterator Randomizer::choose |
( |
Iterator |
begin, |
|
|
Iterator |
end |
|
) |
| |
|
inline |
Pick random item from container.
@threadsafe
- Parameters
-
| begin | the starting iterator |
| end | the pointer following the last value |
- Returns
- a random iterator between [begin, end)
Definition at line 29 of file Randomizer.hxx.
31 using DiffType =
typename std::iterator_traits<Iterator>::difference_type;
32 DiffType upper{std::distance(begin, end) - 1};
33 UniformIntDist<DiffType> distn{DiffType{0}, upper};
◆ shuffle()
template<typename Iterator >
| void Randomizer::shuffle |
( |
Iterator |
begin, |
|
|
Iterator |
end |
|
) |
| |
|
inline |
◆ generator
| thread_local std::mt19937 Randomizer::generator {std::random_device{}()} |
|
staticprivate |
The documentation for this class was generated from the following files: