STD::INDEPENDENT_BITS_ENGINE(3cxx)
πΈ std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType > πΈ
okay bestie, sit down, hydrate, and let me tell you about this little icon from the <random> header β it's <pink>libstdc++</pink>'s std::independent_bits_engine`, and honestly? she's giving very specific, very powerful, lowkey-underrated main character energy π
β¨ SYNOPSIS β¨
#include <random>
π Public Types
typedef _UIntType result_typeβ the type of the value she actually hands you.
π«Ά Public Member Functions
independent_bits_engine ()β Constructs a defaultindependent_bits_engineengine.independent_bits_engine (_RandomNumberEngine &&__rng)β Move constructs aindependent_bits_engineengine.template<typename _Sseq , typename = _If_seed_seq<_Sseq>>independent_bits_engine (_Sseq &__q)β Generator construct aindependent_bits_engineengine.independent_bits_engine (const _RandomNumberEngine &__rng)β Copy constructs aindependent_bits_engineengine.independent_bits_engine (result_type __s)β Seed constructs aindependent_bits_engineengine.const _RandomNumberEngine & base () const noexceptβ Gets a const reference to the underlying generator engine object.void discard (unsigned long long __z)β Discard a sequence of random numbers.result_type operator() ()β Gets the next value in the generated random number sequence.void seed ()β Reseeds theindependent_bits_engineobject with the default seed for the underlying base class generator engine.template<typename _Sseq > _If_seed_seq< _Sseq > seed (_Sseq &__q)β Reseeds theindependent_bits_engineobject with the given seed sequence.void seed (result_type __s)β Reseeds theindependent_bits_engineobject with the default seed for the underlying base class generator engine.
β Static Public Member Functions
static constexpr result_type max ()β Gets the maximum value in the generated random number range.static constexpr result_type min ()β Gets the minimum value in the generated random number range.
π¦ Friends
bool operator== (const independent_bits_engine &__lhs, const independent_bits_engine &__rhs)β Compares twoindependent_bits_enginerandom number generator objects of the same type for equality.template<typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType > &__x)β Extracts the current state of a% subtract_with_carry_enginerandom number generator engine__xfrom the input stream__is.
π Detailed Description π
template<typename _RandomNumberEngine, size_t __w, typename _UIntType>
class std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >
So like β `"Produces random numbers by combining random numbers from some base engine to produce random numbers with a specified number of bits __w.
fr fr, that's the whole bit. She takes your base engine's output, smushes a few of those draws together, and gives you back numbers of exactly __w bits. iconic behaviour, no notes π
Since: C++11 β¨
π Member Typedef Documentation π
typedef _UIntType β result_type
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
typedef _UIntType std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::result_type
The type of the generated random value. that's it, that's the typedef π
π§ Constructor & Destructor Documentation π§
π independent_bits_engine () β default ctor
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::independent_bits_engine () [inline]
Constructs a default independent_bits_engine engine. The underlying engine is default constructed as well. cute, effortless, zero-argument slay β¨
π independent_bits_engine (const _RandomNumberEngine & __rng) β copy ctor
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::independent_bits_engine (const _RandomNumberEngine & __rng) [inline], [explicit]
Copy constructs a independent_bits_engine engine. Copies an existing base class random number generator.
Parameters
__rngβ An existing (base class) engine object.
π independent_bits_engine (_RandomNumberEngine && __rng) β move ctor
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::independent_bits_engine (_RandomNumberEngine && __rng) [inline], [explicit]
Move constructs a independent_bits_engine engine. Copies an existing base class random number generator.
Parameters
__rngβ An existing (base class) engine object.
yes bestie, the docs literally say "copies" for the move constructor too β I'm just telling you what it says π
π independent_bits_engine (result_type __s) β seed ctor
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::independent_bits_engine (result_type __s) [inline], [explicit]
Seed constructs a independent_bits_engine engine. Constructs the underlying generator engine seeded with __s.
Parameters
__sβ A seed value for the base class engine.
π independent_bits_engine (_Sseq & __q) β seed-sequence ctor
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
template<typename _Sseq , typename = _If_seed_seq<_Sseq>>
std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::independent_bits_engine (_Sseq & __q) [inline], [explicit]
Generator construct a independent_bits_engine engine.
Parameters
__qβ A seed sequence.
πΈ Member Function Documentation πΈ
π
base ()
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
const _RandomNumberEngine & std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::base () const [inline], [noexcept]
Gets a const reference to the underlying generator engine object. peek at the engine under the engine, iykyk π
π
discard (unsigned long long __z)
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
void std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::discard (unsigned long long __z) [inline]
Discard a sequence of random numbers. just yeet __z of them into the void π
π
max ()
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
static constexpr result_type std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::max () [inline], [static], [constexpr]
Gets the maximum value in the generated random number range.
π
min ()
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
static constexpr result_type std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::min () [inline], [static], [constexpr]
Gets the minimum value in the generated random number range.
π
operator() ()
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::result_type std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::operator() ()
Gets the next value in the generated random number sequence. the moment you've all been waiting for β¨
References std::__lg(), std::numeric_limits< _Tp >::max(), and std::numeric_limits< _Tp >::min().
π
seed ()
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
void std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::seed () [inline]
Reseeds the independent_bits_engine object with the default seed for the underlying base class generator engine.
π
seed (_Sseq & __q)
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
template<typename _Sseq > _If_seed_seq< _Sseq > std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::seed (_Sseq & __q) [inline]
Reseeds the independent_bits_engine object with the given seed sequence.
Parameters
__qβ A seed generator function.
π
seed (result_type __s)
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
void std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType >::seed (result_type __s) [inline]
Reseeds the independent_bits_engine object with the default seed for the underlying base class generator engine.
okay so real talk β the docs say "default seed" here even though there's an __s parameter sitting right there π I'm reporting, not explaining π
π Friends And Related Symbol Documentation π
π«Ά operator==
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
bool operator== (const independent_bits_engine< _RandomNumberEngine , __w , _UIntType > & __lhs, const independent_bits_engine< _RandomNumberEngine , __w , _UIntType > & __rhs) [friend]
Compares two independent_bits_engine random number generator objects of the same type for equality.
Parameters
__lhsβ Aindependent_bits_enginerandom number generator object.__rhsβ Anotherindependent_bits_enginerandom number generator object.
Returns
true if the infinite sequences of generated values would be equal, false otherwise.
like, are y'all gonna produce the exact same infinity of numbers? that's the vibe check π¦
π«Ά operator>>
template<typename _RandomNumberEngine , size_t __w , typename _UIntType >
template<typename _CharT , typename _Traits > std::basic_istream< _CharT , _Traits > & operator>> (std::basic_istream< _CharT , _Traits > & __is, std::independent_bits_engine< _RandomNumberEngine , __w , _UIntType > & __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β Aindependent_bits_enginerandom 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. yes bestie, a robot wrote this, and I'm just the messenger π
okay that's the whole page, mwah π«Ά stay hydrated, seed your engines, and remember β the footer said libstdstd::independe..._w, _UIntType >(3cxx), which is the libstdc++ manual, page std::independe..._w, _UIntType >(3cxx), and yeah the title got truncated by the formatter and honestly? relatable. periodt. π
β¨
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms