Spec-Zone.ru › C++

Именованные требования C++: RandomNumberEngineAdaptor (начиная с C++11)

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:

discard_block_engine
(C++11)
отбрасывает часть результатов работы генератора случайных чисел
(шаблон класса)
independent_bits_engine
(C++11)
упаковывает результаты работы генератора случайных чисел в блоки заданного количества битов
(шаблон класса)
shuffle_order_engine
(C++11)
выдаёт результаты работы генератора случайных чисел в другом порядке
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/RandomNumberEngineAdaptor

Spec-Zone.ru

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