Spec-Zone.ru › C++

std::shuffle_order_engine

Определено в заголовке <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

Члены-функции

(конструктор)
(C++11)
создаёт адаптер генератора
(публичная функция-член)
seed
(C++11)
устанавливает состояние базового генератора
(публичная функция-член)
base
(C++11)
возвращает базовый генератор
(публичная функция-член)
Генерация
operator()
(C++11)
продвигает состояние базового генератора и возвращает сгенерированное значение
(публичная функция-член)
discard
(C++11)
продвигает состояние адаптера на заданное количество позиций
(публичная функция-член)
Характеристики
min
[статический] (C++11)
получает наименьшее возможное значение в диапазоне вывода базового генератора.
(публичная статическая функция-член)
max
[статический] (C++11)
получает наибольшее возможное значение в диапазоне вывода базового генератора.
(публичная статическая функция-член)

Внешние функции

operator==operator!=
(C++11)(C++11)(удалено в C++20)
сравнивает внутренние состояния адаптеров и базовых генераторов
(функция)
operator<<operator>>
(C++11)
выполняет ввод/вывод в поток псевдослучайного генератора
(функция)

Члены-объекты

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

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API