# std::tr1::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > Class Template Reference
[Random Number Generators]

List of all members.

## Detailed Description

### template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
class std::tr1::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >

A random number generator adaptor class that combines two random number generator engines into a single output sequence.

Definition at line 1239 of file random.

## Public Types

- typedef __gnu_cxx::__conditional_type<
  (sizeof(_Result_type1) > _Result_type1
- typedef _UniformRandomNumberGenerator1 base1_type
- typedef _UniformRandomNumberGenerator2 base2_type
- typedef __gnu_cxx::__conditional_type<
  (sizeof(_Result_type1) > _Result_type2::__type result_type
- typedef __gnu_cxx::__conditional_type<
  (sizeof(_Result_type1) > sizeof (_Result_type2))

## Public Member Functions

- const base1_type & base1 () const
- const base2_type & base2 () const
- result_type max () const
- result_type min () const
- result_type operator() ()
- template<class _Gen> void seed (_Gen &__g)
- void seed ()
- template<class _Gen> xor_combine (_Gen &__g)
- xor_combine (unsigned long __s)
- xor_combine (const base1_type &__rng1, const base2_type &__rng2)
- xor_combine ()

## Static Public Attributes

- static const int shift1
- static const int shift2

## Friends

- bool operator!= (const xor_combine &__lhs, const xor_combine &__rhs)
- template<class _UniformRandomNumberGenerator11, int __s11, class _UniformRandomNumberGenerator21, int __s21, typename _CharT, typename _Traits> std::basic_ostream< _CharT,
  _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > &__x)
- bool operator== (const xor_combine &__lhs, const xor_combine &__rhs)
- template<class _UniformRandomNumberGenerator11, int __s11, class _UniformRandomNumberGenerator21, int __s21, typename _CharT, typename _Traits> std::basic_istream< _CharT,
  _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > &__x)

## Member Typedef Documentation

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>

typedef _UniformRandomNumberGenerator1 std::tr1::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::base1_type

The type of the the first underlying generator engine.

Definition at line 1248 of file random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>

typedef _UniformRandomNumberGenerator2 std::tr1::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::base2_type

The type of the the second underlying generator engine.

Definition at line 1250 of file random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>

typedef __gnu_cxx::__conditional_type<(sizeof(_Result_type1) > std::tr1::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::sizeof(_Result_type2))

The type of the generated random value.

Definition at line 1259 of file random.

## Member Function Documentation

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>

result_type std::tr1::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::operator() | ( |  | ) | `[inline]`

Gets the next random number in the sequence.

Definition at line 1320 of file random.

## Friends And Related Function Documentation

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>

bool operator!= | ( | const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > & | __lhs,
|  | const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > & | __rhs |
| ) |  |  | `[friend]`

Compares two xor_combine random number generator objects of the same type for inequality.

Parameters:

  | __lhs | A xor_combine random number generator object.
  | __rhs | Another xor_combine random number generator object.

Returns:
  true if the two objects are not equal, false otherwise.

Definition at line 1354 of file random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
template<class _UniformRandomNumberGenerator11, int __s11, class _UniformRandomNumberGenerator21, int __s21, typename _CharT, typename _Traits>

std::basic_ostream<_CharT, _Traits>& operator<< | ( | std::basic_ostream< _CharT, _Traits > & | __os,
|  | const xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > & | __x |
| ) |  |  | `[friend]`

Inserts the current state of a xor_combine random number generator engine `__x` into the output stream `__os`.

Parameters:

  | __os | An output stream.
  | __x | A xor_combine random number generator engine.

Returns:
  The output stream with the state of `__x` inserted or in an error state.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>

bool operator== | ( | const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > & | __lhs,
|  | const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > & | __rhs |
| ) |  |  | `[friend]`

Compares two xor_combine random number generator objects of the same type for equality.

Parameters:

  | __lhs | A xor_combine random number generator object.
  | __rhs | Another xor_combine random number generator object.

Returns:
  true if the two objects are equal, false otherwise.

Definition at line 1337 of file random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
template<class _UniformRandomNumberGenerator11, int __s11, class _UniformRandomNumberGenerator21, int __s21, typename _CharT, typename _Traits>

std::basic_istream<_CharT, _Traits>& operator>> | ( | std::basic_istream< _CharT, _Traits > & | __is,
|  | xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > & | __x |
| ) |  |  | `[friend]`

Extracts the current state of a xor_combine random number generator engine `__x` from the input stream `__is`.

Parameters:

  | __is | An input stream.
  | __x | A xor_combine random number generator engine.

Returns:
  The input stream with the state of `__x` extracted or in an error state.

The documentation for this class was generated from the following files:

- random
- random.tcc