|
| BOOST_STATIC_CONSTANT (bool, has_fixed_range=false) |
|
| BOOST_STATIC_CONSTANT (int, shift1=s1) |
|
| BOOST_STATIC_CONSTANT (int, shift2=s2) |
|
| xor_combine_engine () |
| Constructors a xor_combine_engine by default constructing both base generators. More...
|
|
| xor_combine_engine (const base1_type &rng1, const base2_type &rng2) |
| Constructs a xor_combine by copying two base generators. More...
|
|
| BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR (xor_combine_engine, result_type, v) |
| Constructs a xor_combine_engine , seeding both base generators with v . More...
|
|
| BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR (xor_combine_engine, SeedSeq, seq) |
| Constructs a xor_combine_engine , seeding both base generators with values produced by seq . More...
|
|
template<class It > |
| xor_combine_engine (It &first, It last) |
| Constructs a xor_combine_engine , seeding both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used. More...
|
|
void | seed () |
| Calls seed() for both base generators. More...
|
|
| BOOST_RANDOM_DETAIL_ARITHMETIC_SEED (xor_combine_engine, result_type, v) |
| seeds both base generators with v . More...
|
|
| BOOST_RANDOM_DETAIL_SEED_SEQ_SEED (xor_combine_engine, SeedSeq, seq) |
| seeds both base generators with values produced by seq . More...
|
|
template<class It > |
void | seed (It &first, It last) |
| seeds both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used. More...
|
|
const base1_type & | base1 () const |
| Returns the first base generator. More...
|
|
const base2_type & | base2 () const |
| Returns the second base generator. More...
|
|
result_type | operator() () |
| Returns the next value of the generator. More...
|
|
template<class Iter > |
void | generate (Iter first, Iter last) |
| Fills a range with random values. More...
|
|
void | discard (boost::uintmax_t z) |
| Advances the state of the generator by z . More...
|
|
| BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR (os, xor_combine_engine, s) |
| Writes the textual representation of the generator to a std::ostream . More...
|
|
| BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR (is, xor_combine_engine, s) |
| Reads the textual representation of the generator from a std::istream . More...
|
|
| BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR (xor_combine_engine, x, y) |
| Returns true if the two generators will produce identical sequences. More...
|
|
template<class URNG1, int s1, class URNG2, int s2>
class boost::random::xor_combine_engine< URNG1, s1, URNG2, s2 >
Instantiations of xor_combine_engine
model a .
To produce its output it invokes each of the base generators, shifts their results and xors them together.
template<class URNG1 , int s1, class URNG2 , int s2>
template<class It >
Constructs a xor_combine_engine
, seeding both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used.
If there are not enough elements in the range to seed both generators, throws std::invalid_argument
.
template<class URNG1 , int s1, class URNG2 , int s2>
template<class It >
seeds both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used.
If there are not enough elements in the range to seed both generators, throws std::invalid_argument
.