Namespaces
Variants

C++ named requirements: RandomNumberEngineAdaptor (since C++11)

From cppreference.net
C++ named requirements

RandomNumberEngineAdaptor — это RandomNumberEngine , который преобразует выходные данные другого RandomNumberEngine , последний из которых называется базовым движком .

Требования

Дано

  • B , RandomNumberEngine
  • b , объект типа B
  • A , RandomNumberEngineAdaptor , адаптирующий B в качестве базового движка
  • a , объект типа A
function semantics
A :: A ( ) ; Базовый движок инициализируется как при вызове его конструктора по умолчанию.
bool operator == ( const A & lhs, const A & rhs ) ; Возвращает, равен ли базовый движок lhs базовому движку rhs или нет.
A :: A ( result_type s ) ; Базовый движок инициализируется значением s .
template < class Sseq > A :: A ( Sseq & q ) ; Базовый движок инициализируется значением q .
void seed ( ) ; Вызывает b. seed ( ) .
void seed ( result_type s ) ; Вызывает b. seed ( s ) .
template < class Sseq > void seed ( Sseq & q ) ; Вызывает b. seed ( q ) .

Кроме того

  • Сложность каждой функции A не превышает сложности функции B
  • Состояние A включает состояние B
  • Размер состояния A не меньше размера состояния b
  • Копирование состояния A включает копирование состояния B
  • Текстовое представление A включает текстовое представление B

Стандартная библиотека

Следующие средства стандартной библиотеки удовлетворяют требованиям RandomNumberEngineAdaptor :

отбрасывает часть вывода генератора случайных чисел
(шаблон класса)
упаковывает вывод генератора случайных чисел в блоки заданного размера в битах
(шаблон класса)
выводит результат работы генератора случайных чисел в другом порядке
(шаблон класса)