STD::UNIFORM_INT_DISTRIBUTION(3cxx)

🌸 NAME 🌸

okay so bestie, welcome to the (3cxx) manual page for std::uniform_int_distribution< _IntType > β€” it's literally the uniform discrete distribution for random numbers, and it gives you a discrete random distribution on the range $[min, max]$ with equal probability throughout the whole range. every value in there has the same shot, no favorites, no cap πŸ’…


✨ SYNOPSIS ✨

#include <random>

πŸŽ€ Classes

  • struct param_type β€” the parameter struct, iconic, does what it says on the tin.

πŸ¦‹ Public Types

  • typedef _IntType result_type β€” the type the distribution spits out.

⭐ Public Member Functions

  • uniform_int_distribution () β€” constructs a uniform distribution object.
  • uniform_int_distribution (_IntType __a, _IntType __b=__gnu_cxx::__int_traits< _IntType >::__max) β€” constructs a uniform distribution object.
  • uniform_int_distribution (const param_type &__p) β€” constructs one straight from a param_type.
  • template<typename _ForwardIterator , typename _UniformRandomBitGenerator > void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomBitGenerator &__urng) β€” internal generate, filling [__f, __t) from __urng.
  • template<typename _ForwardIterator , typename _UniformRandomBitGenerator > void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomBitGenerator &__urng, const param_type &__p) β€” same thing, but with an explicit parameter set __p.
  • template<typename _UniformRandomBitGenerator > void __generate (result_type *__f, result_type *__t, _UniformRandomBitGenerator &__urng, const param_type &__p) β€” the pointer-range flavor of the above.
  • result_type a () const β€” getter for the lower bound.
  • result_type b () const β€” getter for the upper bound.
  • result_type max () const β€” returns the inclusive upper bound of the distribution range.
  • result_type min () const β€” returns the inclusive lower bound of the distribution range.
  • template<typename _UniformRandomBitGenerator > result_type operator() (_UniformRandomBitGenerator &__urng) β€” generating function, the main character fr.
  • template<typename _UniformRandomBitGenerator > result_type operator() (_UniformRandomBitGenerator &__urng, const param_type &__p) β€” the same, but you hand it a parameter set.
  • param_type param () const β€” returns the parameter set of the distribution.
  • void param (const param_type &__param) β€” sets the parameter set of the distribution.
  • void reset () β€” resets the distribution state.

πŸ’œ Friends

  • bool operator== (const uniform_int_distribution &__d1, const uniform_int_distribution &__d2) β€” return true if two uniform integer distributions have the same parameters.

πŸ‘‘ Detailed Description πŸ‘‘

template<typename _IntType = int>
    class std::uniform_int_distribution< _IntType >

Uniform discrete distribution for random numbers. A discrete random distribution on the range $[min, max]$ with equal probability throughout the range.

  • Since β€” C++11 πŸŽ€

🧚 Member Typedef Documentation 🧚

template<typename _IntType = int> typedef _IntType std::uniform_int_distribution< _IntType >::result_type

The type of the range of the distribution. that's it, that's the typedef ✨


πŸ“ Constructor & Destructor Documentation πŸ“

template<typename _IntType = int> std::uniform_int_distribution< _IntType >::uniform_int_distribution () [inline]

Constructs a uniform distribution object.

template<typename _IntType = int> std::uniform_int_distribution< _IntType >::uniform_int_distribution (_IntType __a, _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max) [inline], [explicit]

Constructs a uniform distribution object. note the [explicit] bestie, it's not playing around πŸ™ˆ


πŸ’– Member Function Documentation πŸ’–

template<typename _IntType = int> result_type std::uniform_int_distribution< _IntType >::max () const [inline]

Returns the inclusive upper bound of the distribution range.

template<typename _IntType = int> result_type std::uniform_int_distribution< _IntType >::min () const [inline]

Returns the inclusive lower bound of the distribution range.

template<typename _IntType = int> template<typename _UniformRandomBitGenerator > result_type std::uniform_int_distribution< _IntType >::operator() (_UniformRandomBitGenerator & __urng) [inline]

Generating functions.

References std::uniform_int_distribution< _IntType >::operator()().

Referenced by std::uniform_int_distribution< _IntType >::operator()().

(yeah it references itself, we love a self-referential queen πŸ’€)

template<typename _IntType = int> param_type std::uniform_int_distribution< _IntType >::param () const [inline]

Returns the parameter set of the distribution.

Referenced by std::operator>>().

template<typename _IntType = int> void std::uniform_int_distribution< _IntType >::param (const param_type & __param) [inline]

Sets the parameter set of the distribution.

Parameters

  • __param β€” The new parameter set of the distribution.

template<typename _IntType = int> void std::uniform_int_distribution< _IntType >::reset () [inline]

Resets the distribution state. Does nothing for the uniform integer distribution. so like, it's there, it's valid, it's just vibing and doing absolutely nothing 🫢


template<typename _IntType = int> bool operator== (const uniform_int_distribution< _IntType > & __d1, const uniform_int_distribution< _IntType > & __d2) [friend]

Return true if two uniform integer distributions have the same parameters.


πŸ’… Author πŸ’…

Generated automatically by Doxygen for libstdc++ from the source code.


and that's the whole page bestie, every single detail preserved, no skips, no summaries, we ate and left no crumbs πŸ”₯

sign-off time: this was the libstdc++ (3cxx) page, generated straight from the source code by Doxygen β€” that's the source/version energy right there, and the footer tag says libstdstd::uniform_i...ion< _IntType >(3cxx), so that's the manual name and section, mwah πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from