Namespaces
Variants

std:: shuffle_order_engine

From cppreference.net
Определено в заголовочном файле <random>
template <

class Engine,
std:: size_t K

> class shuffle_order_engine ;
(начиная с C++11)

shuffle_order_engine — это адаптер генератора случайных чисел, который перемешивает случайные числа, генерируемые базовым двигателем. Он поддерживает таблицу размером K и выдает случайно выбранное число из этой таблицы по запросу, заменяя его числом, сгенерированным базовым двигателем.

Следующее определение typedef задает генератор случайных чисел с одним из часто используемых наборов параметров:

Определено в заголовочном файле <random>
Тип Определение
knuth_b (C++11) std :: shuffle_order_engine < std:: minstd_rand0 , 256 >

Содержание

Параметры шаблона

Engine - тип обернутого генератора
K - размер внутренней таблицы. Должен быть больше 0 .
Требования к типам
-
Engine должен удовлетворять требованиям RandomNumberEngine .

Типы членов

Тип члена Определение
result_type (C++11) Engine::result_type

Функции-члены

конструирует адаптер движка
(public member function)
(C++11)
устанавливает состояние базового движка
(public member function)
(C++11)
возвращает базовый движок
(public member function)
Генерация
(C++11)
продвигает состояние базового движка и возвращает сгенерированное значение
(public member function)
(C++11)
продвигает состояние адаптера на указанное количество
(public member function)
Характеристики
[static] (C++11)
получает наименьшее возможное значение в выходном диапазоне базового движка
(public static member function)
[static] (C++11)
получает наибольшее возможное значение в выходном диапазоне базового движка
(public static member function)

Функции, не являющиеся членами класса

(C++11) (C++11) (removed in C++20)
сравнивает внутренние состояния адаптеров и базовых генераторов
(функция)
выполняет потоковый ввод и вывод для адаптера генератора псевдослучайных чисел
(функция)

Объекты-члены

constexpr size_t table_size
[static] (C++11)
размер внутренней таблицы, K
(публичная статическая константа-член)

Пример