C++ именованные требования: RandomNumberEngineAdaptor (с C++11)
A RandomNumberEngineAdaptor — это RandomNumberEngine, преобразующий вывод другого RandomNumberEngine, который называется базовым движком.
Требования
Дано
-
B, RandomNumberEngine -
b, объект типаB -
A, RandomNumberEngineAdaptor, адаптирующийBв качестве базового движка -
a, объект типаA
| Функция | Семантика |
|---|---|
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:
|
(C++11) | отбрасывает часть вывода движка случайных чисел (шаблон класса) |
|
(C++11) | упаковывает вывод движка случайных чисел в блоки заданного количества бит (шаблон класса) |
|
(C++11) | предоставляет вывод движка случайных чисел в другом порядке (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/RandomNumberEngineAdaptor