QRandomGenerator64 Class

The QRandomGenerator64 class allows one to obtain 64-bit random values from a high-quality, seed-less Random Number Generator. More...

Header: #include <QRandomGenerator64>
qmake: QT += core
Since: Qt 5.10
Inherits: QRandomGenerator

Public Types

typedef result_type

Public Functions

quint64 generate()
QRandomGenerator64::result_type operator()()

Additional Inherited Members

Detailed Description

The QRandomGenerator64 class allows one to obtain 64-bit random values from a high-quality, seed-less Random Number Generator.

QRandomGenerator64 is a simple adaptor class around QRandomGenerator, making the QRandomGenerator::generate64() function the default for operator()(), instead of the function that returns 32-bit quantities. This class is intended to be used in conjunction with Standard Library algorithms that need 64-bit quantities instead of 32-bit ones.

In all other aspects, the class is the same. Please refer to QRandomGenerator's documentation for more information.

See also QRandomGenerator.

Member Type Documentation

typedef QRandomGenerator64::result_type

A typedef to the type that operator() returns. That is, quint64.

See also operator().

Member Function Documentation

quint64 QRandomGenerator64::generate()

Generates one 64-bit random value and returns it.

Note about casting to a signed integer: all bits returned by this function are random, so there's a 50% chance that the most significant bit will be set. If you wish to cast the returned value to qint64 and keep it positive, you should mask the sign bit off:

    qint64 value = QRandomGenerator64::generate() & std::numeric_limits<qint64>::max();

See also QRandomGenerator and QRandomGenerator::generate64().

QRandomGenerator64::result_type QRandomGenerator64::operator()()

Generates a 64-bit random quantity and returns it.

See also QRandomGenerator::generate() and QRandomGenerator::generate64().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qrandomgenerator64.html