#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: