Namensräume
Varianten
Aktionen

std::experimental::ranges::UniformRandomNumberGenerator

Von cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
Konzeptbibliothek
Kernsprachen-Konzepte
                              
Objektkonzepte
                              
                              
Vergleichskonzepte
Aufrufbare Konzepte
                                        
                              
URNG-Konzept
UniformRandomNumberGenerator
 
Definiert in Header <experimental/ranges/random>
template< class G >

concept bool UniformRandomNumberGenerator =
    Invocable<G&> &&
    UnsignedIntegral<std::result_of_t<G&()>> &&
    requires {
        { G::min() } -> Same<std::result_of_t<G&()>>&&;
        { G::max() } -> Same<std::result_of_t<G&()>>&&;

    };
(Ranges TS)

Das Konzept UniformRandomNumberGenerator<G> gibt an, dass G der Typ eines gleichmäßigen Zufallszahlengenerators ist, d.h. Objekte vom Typ G sind Funktionsobjekte, die vorzeichenlose Ganzzahlwerte zurückgeben, wobei jeder Wert im Bereich der möglichen Ergebnisse (idealerweise) die gleiche Wahrscheinlichkeit hat, zurückgegeben zu werden.

UniformRandomNumberGenerator<G> ist nur dann erfüllt, wenn für jedes Objekt g vom Typ G gilt:

  • G::min() und G::max() sind Prvalue-Konstanten-Ausdrücke;
  • G::min() < G::max()
  • g() liegt im Bereich [G::min(), G::max()]
  • g() hat amortisierte konstante Komplexität.