Vcsn
2.3
Be Rational
|
Random selector on container, using uniform distribution. More...
#include <random.hh>
Public Member Functions | |
random_selector (RandomGenerator &g) | |
template<typename Iter > | |
Iter | select (Iter start, Iter end) |
A randomly selected iterator in [start, end). More... | |
template<typename Iter > | |
Iter | operator() (Iter start, Iter end) |
A randomly selected iterator in [start, end). More... | |
template<typename Container > | |
auto | operator() (const Container &c) -> decltype(*std::begin(c)) |
A randomly selected member of c. More... | |
template<typename Container > | |
auto | pop (Container &c) -> typename Container::value_type |
A randomly selected member of c. Remove it from c. More... | |
Private Attributes | |
RandomGenerator & | gen_ |
Random selector on container, using uniform distribution.
Based on https://gist.github.com/cbsmith/5538174.
|
inline |
|
inline |
A randomly selected iterator in [start, end).
Definition at line 60 of file random.hh.
References vcsn::random_selector< RandomGenerator >::select().
|
inline |
A randomly selected member of c.
Definition at line 67 of file random.hh.
References vcsn::random_selector< RandomGenerator >::select().
|
inline |
A randomly selected member of c. Remove it from c.
Definition at line 74 of file random.hh.
References vcsn::res, and vcsn::random_selector< RandomGenerator >::select().
|
inline |
A randomly selected iterator in [start, end).
Definition at line 50 of file random.hh.
References vcsn::random_selector< RandomGenerator >::gen_.
Referenced by vcsn::random_selector< RandomGenerator >::operator()(), and vcsn::random_selector< RandomGenerator >::pop().
|
private |
Definition at line 83 of file random.hh.
Referenced by vcsn::random_selector< RandomGenerator >::select().