std::xor_combine(3)

πŸ“¦ version 4.4.0, in nixpkgs unstable

hii bestie πŸ’– you're on the Library Functions Manual page for std::xor_combine(3) in libstdc++. It's a Doxygen-generated page for a random number generator adaptor class, and every signature, line number, file path, friend, typedef, parameter, and return value is staying right here β€” no cap, no skipping 🫢✨


🌸 NAME 🌸

std::xor_combine -

(Yes, that's literally the whole NAME line. It's giving mysterious main character energy πŸ’…)


✨ SYNOPSIS ✨

Okay so here's the full synopsis lineup, angle brackets and all 😭 Buckle up.

πŸŽ€ 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

πŸ’… 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 ()
typedef __gnu_cxx::__conditional_type<(sizeof(_Result_type1) > sizeof
    (_Result_type2))
template<class _Gen > xor_combine (_Gen &__g)
xor_combine (unsigned long __s)
xor_combine (const base1_type &__rng1, const base2_type &__rng2)

πŸ¦‹ 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)

🧚 Detailed Description 🧚

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

This is a random number generator adaptor class whose whole thing is combining two random number generator engines into a single output sequence. Iconic, honestly πŸ’–

Definition at line 1284 of file tr1_impl/random.


πŸ¦‹ Member Typedef Documentation πŸ¦‹

πŸ’œ base1_type πŸ’œ

template<class _UniformRandomNumberGenerator1, int __s1, class
    _UniformRandomNumberGenerator2, int __s2> typedef
    _UniformRandomNumberGenerator1 std::xor_combine<
    _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2,
    __s2 >::base1_type

The type of the first underlying generator engine.

Definition at line 1293 of file tr1_impl/random.

πŸ’œ base2_type πŸ’œ

template<class _UniformRandomNumberGenerator1, int __s1, class
    _UniformRandomNumberGenerator2, int __s2> typedef
    _UniformRandomNumberGenerator2 std::xor_combine<
    _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2,
    __s2 >::base2_type

The type of the second underlying generator engine.

Definition at line 1295 of file tr1_impl/random.


πŸ”₯ Member Function Documentation πŸ”₯

⭐ operator() () [inline] ⭐

template<class _UniformRandomNumberGenerator1, int __s1, class
    _UniformRandomNumberGenerator2, int __s2> result_type std::xor_combine<
    _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2,
    __s2 >::operator() () [inline]

Gets the next random number in the sequence.

Definition at line 1365 of file tr1_impl/random.

πŸ“ the conditional typedef for the generated value type πŸ“

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

The type of the generated random value.


πŸ’€ operator!= [friend] πŸ’€

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 1399 of file tr1_impl/random.

🌈 operator<< [friend] 🌈

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.

πŸŽ€ operator== [friend] πŸŽ€

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 1382 of file tr1_impl/random.

πŸ¦‹ operator>> [friend] πŸ¦‹

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.


🧚 Author 🧚

Generated automatically by Doxygen for libstdc++ from the source code. So yeah, it's a Doxygen situation πŸ˜­πŸ’…


Okay bye bestie! 🫢 The footer says source/version libstdc++, date 21 Apr 2009, and page std::xor_combine(3). Mwah πŸ’–βœ¨

πŸ“¦ where this page comes from