Counter based RNG engine.
More...
#include <mckl/random/counter.hpp>
|
| bool | operator!= (const CounterEngine< ResultType, Generator > &eng1, const CounterEngine< ResultType, Generator > &eng2) |
| |
| template<typename CharT , typename Traits > |
| std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, const CounterEngine< ResultType, Generator > &eng) |
| |
| bool | operator== (const CounterEngine< ResultType, Generator > &eng1, const CounterEngine< ResultType, Generator > &eng2) |
| |
| template<typename CharT , typename Traits > |
| std::basic_istream< CharT, Traits > & | operator>> (std::basic_istream< CharT, Traits > &is, CounterEngine< ResultType, Generator > &eng) |
| |
template<typename ResultType, typename Generator>
class mckl::CounterEngine< ResultType, Generator >
Counter based RNG engine.
- Template Parameters
-
| ResultType | The ouptut integer type of the counter-based RNG engine |
| Generator | The generator that transfer counter and key to a result block
- Requirement
static constexpr std::size_t size();
- Restrictions:
size() % sizeof(ResultType) == 0
|
Definition at line 62 of file counter.hpp.
◆ ctr_type
template<typename ResultType, typename Generator>
◆ generator_type
template<typename ResultType, typename Generator>
◆ key_type
template<typename ResultType, typename Generator>
◆ result_type
template<typename ResultType, typename Generator>
◆ skip_type
template<typename ResultType, typename Generator>
◆ CounterEngine() [1/3]
template<typename ResultType, typename Generator>
◆ CounterEngine() [2/3]
template<typename ResultType, typename Generator>
template<typename SeedSeq >
◆ CounterEngine() [3/3]
template<typename ResultType, typename Generator>
◆ ctr() [1/2]
template<typename ResultType, typename Generator>
◆ ctr() [2/2]
template<typename ResultType, typename Generator>
◆ discard() [1/2]
template<typename ResultType, typename Generator>
Discard the result.
- Returns
- The number of results discarded
Definition at line 170 of file counter.hpp.
◆ discard() [2/2]
template<typename ResultType, typename Generator>
◆ generator() [1/2]
template<typename ResultType, typename Generator>
◆ generator() [2/2]
template<typename ResultType, typename Generator>
◆ key() [1/2]
template<typename ResultType, typename Generator>
◆ key() [2/2]
template<typename ResultType, typename Generator>
◆ max()
template<typename ResultType, typename Generator>
◆ min()
template<typename ResultType, typename Generator>
◆ operator()() [1/2]
template<typename ResultType, typename Generator>
◆ operator()() [2/2]
template<typename ResultType, typename Generator>
◆ seed() [1/3]
template<typename ResultType, typename Generator>
◆ seed() [2/3]
template<typename ResultType, typename Generator>
template<typename SeedSeq >
| void mckl::CounterEngine< ResultType, Generator >::seed |
( |
SeedSeq & |
seq, |
|
|
std::enable_if_t< is_seed_seq< SeedSeq >::value > * |
= nullptr |
|
) |
| |
|
inline |
◆ seed() [3/3]
template<typename ResultType, typename Generator>
◆ operator!=
template<typename ResultType, typename Generator>
◆ operator<<
template<typename ResultType, typename Generator>
template<typename CharT , typename Traits >
| std::basic_ostream<CharT, Traits>& operator<< |
( |
std::basic_ostream< CharT, Traits > & |
os, |
|
|
const CounterEngine< ResultType, Generator > & |
eng |
|
) |
| |
|
friend |
◆ operator==
template<typename ResultType, typename Generator>
◆ operator>>
template<typename ResultType, typename Generator>
template<typename CharT , typename Traits >
| std::basic_istream<CharT, Traits>& operator>> |
( |
std::basic_istream< CharT, Traits > & |
is, |
|
|
CounterEngine< ResultType, Generator > & |
eng |
|
) |
| |
|
friend |