STD::SHUFFLE_ORDER_ENGINE(3cxx)

πŸ’– std::shuffle_order_engine β€” 3cxx πŸ’–

okay bestie, welcome to the 3cxx manual page for std::shuffle_order_engine< _RandomNumberEngine, __k >. it's giving β€œrandom numbers, but shuffled,” and honestly? iconic. ✨

🌸 NAME 🌸

std::shuffle_order_engine< _RandomNumberEngine, __k > β€” Produces random numbers by reordering random numbers from some base engine.

🌈 SYNOPSIS 🌈

#include <random>

πŸŽ€ Public Types πŸŽ€

  • template<typename _Sseq > using _If_seed_seq = __detail::_If_seed_seq_for< _Sseq, shuffle_order_engine, result_type >
  • typedef _RandomNumberEngine::result_type result_type β€” the type of the generated random value, more tea below πŸ’…

🧸 Public Member Functions 🧸

  • shuffle_order_engine () β€” Constructs a default shuffle_order_engine engine.
  • shuffle_order_engine (_RandomNumberEngine &&__rng) β€” Move constructs a shuffle_order_engine engine.
  • template<typename _Sseq , typename = _If_seed_seq<_Sseq>> shuffle_order_engine (_Sseq &__q) β€” Generator construct a shuffle_order_engine engine.
  • shuffle_order_engine (const _RandomNumberEngine &__rng) β€” Copy constructs a shuffle_order_engine engine.
  • shuffle_order_engine (result_type __s) β€” Seed constructs a shuffle_order_engine engine.
  • const _RandomNumberEngine & base () const noexcept β€” signature only here; the full base() tea is below.
  • void discard (unsigned long long __z) β€” signature only here; detail below.
  • result_type operator() () β€” signature only here; detail below.
  • void seed () β€” Reseeds the shuffle_order_engine object with the default seed for the underlying base class generator engine.
  • template<typename _Sseq > _If_seed_seq< _Sseq > seed (_Sseq &__q) β€” Reseeds the shuffle_order_engine object with the given seed sequence.
  • void seed (result_type __s) β€” Reseeds the shuffle_order_engine object with the default seed for the underlying base class generator engine.

⭐ Static Public Member Functions ⭐

  • static constexpr result_type max () β€” signature only here; max() docs are below.
  • static constexpr result_type min () β€” signature only here; min() docs are below.

🍬 Static Public Attributes 🍬

  • static constexpr size_t table_size β€” no description attached in the original, bestie; it's just this static constexpr attribute.

πŸ’… Friends πŸ’…

  • template<typename _RandomNumberEngine1 , size_t __k1, typename _CharT , typename _Traits > std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::shuffle_order_engine< _RandomNumberEngine1, __k1 > &__x) β€” Inserts the current state of a shuffle_order_engine random number generator engine __x into the output stream __os.
  • bool operator== (const shuffle_order_engine &__lhs, const shuffle_order_engine &__rhs) β€” the equality friend; full compare tea is below.
  • template<typename _RandomNumberEngine1 , size_t __k1, typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::shuffle_order_engine< _RandomNumberEngine1, __k1 > &__x) β€” Extracts the current state of a % subtract_with_carry_engine random number generator engine __x from the input stream __is.

πŸ¦‹ Detailed Description πŸ¦‹

template<typename _RandomNumberEngine, size_t __k>
    class std::shuffle_order_engine< _RandomNumberEngine, __k >"Produces
    random numbers by reordering random numbers from some base engine.

The values from the base engine are stored in a sequence of size __k and shuffled by an algorithm that depends on those values.

Since: C++11

yes, that little quote mark before Produces is in the original β€” I’m leaving it exactly as found, bestie. no cap. 😭

🧡 Member Typedef Documentation 🧡

template<typename _RandomNumberEngine , size_t __k> typedef _RandomNumberEngine::result_type std::shuffle_order_engine< _RandomNumberEngine, __k >::result_type

The type of the generated random value.

πŸ› οΈ Constructor & Destructor Documentation πŸ› οΈ

🌱 shuffle_order_engine ()

template<typename _RandomNumberEngine , size_t __k> std::shuffle_order_engine< _RandomNumberEngine, __k >::shuffle_order_engine () [inline]

Constructs a default shuffle_order_engine engine. The underlying engine is default constructed as well.

🎁 shuffle_order_engine (const _RandomNumberEngine & __rng)

template<typename _RandomNumberEngine , size_t __k> std::shuffle_order_engine< _RandomNumberEngine, __k >::shuffle_order_engine (const _RandomNumberEngine & __rng) [inline],  [explicit]

Copy constructs a shuffle_order_engine engine. Copies an existing base class random number generator.

Parameters

  • __rng β€” An existing (base class) engine object.

🚚 shuffle_order_engine (_RandomNumberEngine && __rng)

template<typename _RandomNumberEngine , size_t __k> std::shuffle_order_engine< _RandomNumberEngine, __k >::shuffle_order_engine (_RandomNumberEngine && __rng) [inline],  [explicit]

Move constructs a shuffle_order_engine engine. Copies an existing base class random number generator.

Parameters

  • __rng β€” An existing (base class) engine object.
the move-construct text says β€œCopies” in the original β€” not my typo, bestie, I’m just preserving the lore. πŸ’€

🌰 shuffle_order_engine (result_type __s)

template<typename _RandomNumberEngine , size_t __k> std::shuffle_order_engine< _RandomNumberEngine, __k >::shuffle_order_engine (result_type __s) [inline],  [explicit]

Seed constructs a shuffle_order_engine engine. Constructs the underlying generator engine seeded with __s.

Parameters

  • __s β€” A seed value for the base class engine.

🧞 shuffle_order_engine (_Sseq & __q)

template<typename _RandomNumberEngine , size_t __k> template<typename _Sseq , typename  = _If_seed_seq<_Sseq>> std::shuffle_order_engine< _RandomNumberEngine, __k >::shuffle_order_engine (_Sseq & __q) [inline], [explicit]

Generator construct a shuffle_order_engine engine.

Parameters

  • __q β€” A seed sequence.

🧚 Member Function Documentation 🧚

πŸ” base ()

template<typename _RandomNumberEngine , size_t __k> const _RandomNumberEngine & std::shuffle_order_engine< _RandomNumberEngine, __k >::base () const [inline],  [noexcept]

Gets a const reference to the underlying generator engine object.

πŸ—‘οΈ discard (unsigned long long __z)

template<typename _RandomNumberEngine , size_t __k> void std::shuffle_order_engine< _RandomNumberEngine, __k >::discard (unsigned long long __z) [inline]

Discard a sequence of random numbers.

πŸ“ˆ max ()

template<typename _RandomNumberEngine , size_t __k> static constexpr result_type std::shuffle_order_engine< _RandomNumberEngine, __k >::max () [inline],  [static],  [constexpr]

Gets the maximum value in the generated random number range.

πŸ“‰ min ()

template<typename _RandomNumberEngine , size_t __k> static constexpr result_type std::shuffle_order_engine< _RandomNumberEngine, __k >::min () [inline],  [static],  [constexpr]

Gets the minimum value in the generated random number range.

🎲 operator() ()

template<typename _RandomNumberEngine , size_t __k> shuffle_order_engine< _RandomNumberEngine, __k >::result_type std::shuffle_order_engine< _RandomNumberEngine, __k >::operator() ()

Gets the next value in the generated random number sequence.

References: std::max(), and std::min().

🌱 seed ()

template<typename _RandomNumberEngine , size_t __k> void std::shuffle_order_engine< _RandomNumberEngine, __k >::seed () [inline]

Reseeds the shuffle_order_engine object with the default seed for the underlying base class generator engine.

🌱 seed (_Sseq & __q)

template<typename _RandomNumberEngine , size_t __k> template<typename _Sseq > _If_seed_seq< _Sseq > std::shuffle_order_engine< _RandomNumberEngine, __k >::seed (_Sseq & __q) [inline]

Reseeds the shuffle_order_engine object with the given seed sequence.

Parameters

  • __q β€” A seed generator function.

🌱 seed (result_type __s)

template<typename _RandomNumberEngine , size_t __k> void std::shuffle_order_engine< _RandomNumberEngine, __k >::seed (result_type __s) [inline]

Reseeds the shuffle_order_engine object with the default seed for the underlying base class generator engine.

same description as seed() even though it takes __s β€” that’s literally what the page says. keeping it. 🫢

πŸ“€ operator<<

template<typename _RandomNumberEngine , size_t __k> template<typename _RandomNumberEngine1 , size_t __k1, typename _CharT , typename _Traits > std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > & __os, const std::shuffle_order_engine< _RandomNumberEngine1, __k1 > & __x) [friend]

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

Parameters

  • __os β€” An output stream.
  • __x β€” A shuffle_order_engine random number generator engine.

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

βš–οΈ operator==

template<typename _RandomNumberEngine , size_t __k> bool operator== (const shuffle_order_engine< _RandomNumberEngine, __k > & __lhs, const shuffle_order_engine< _RandomNumberEngine, __k > & __rhs) [friend]

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

Parameters

  • __lhs β€” A shuffle_order_engine random number generator object.
  • __rhs β€” Another shuffle_order_engine random number generator object.

Returns true if the infinite sequences of generated values would be equal, false otherwise.

πŸ“₯ operator>>

template<typename _RandomNumberEngine , size_t __k> template<typename _RandomNumberEngine1 , size_t __k1, typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > & __is, std::shuffle_order_engine< _RandomNumberEngine1, __k1 > & __x) [friend]

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

Parameters

  • __is β€” An input stream.
  • __x β€” A shuffle_order_engine 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.


mwah πŸ’‹βœ¨ β€” source/version: libstd + std::shuffle_o...erEngine, __k > on the 3cxx page, and date: the date printed in the original footer, bestie. slay 🫢

πŸ“¦ where this page comes from