C++ named requirements: RandomNumberEngineAdaptor (since C++11)
From cppreference.net
Un RandomNumberEngineAdaptor es un RandomNumberEngine que transforma la salida de otro RandomNumberEngine , al cual se denomina motor base .
Requisitos
Dado
- B , un RandomNumberEngine
- b , un objeto de tipo B
- A , un RandomNumberEngineAdaptor , que adapta B como motor base
- a , un objeto de tipo A
| función | semántica |
|---|---|
| A :: A ( ) ; | El motor base se inicializa como si fuera por su constructor predeterminado. |
| bool operator == ( const A & lhs, const A & rhs ) ; | Devuelve si el motor base de lhs es igual al motor base de rhs o no. |
| A :: A ( result_type s ) ; | El motor base se inicializa con s . |
| template < class Sseq > A :: A ( Sseq & q ) ; | El motor base se inicializa con q . |
| void seed ( ) ; | Invoca b. seed ( ) . |
| void seed ( result_type s ) ; | Invoca b. seed ( s ) . |
| template < class Sseq > void seed ( Sseq & q ) ; | Invoca b. seed ( q ) . |
Además
- La complejidad de cada función de A no excede la complejidad de la función de B
- El estado de A incluye el estado de B
- El tamaño del estado de A no es menor que el tamaño de b
- Copiar el estado de A incluye copiar el estado de B
- La representación textual de A incluye la representación textual de B
Biblioteca estándar
Las siguientes facilidades de la biblioteca estándar satisfacen RandomNumberEngineAdaptor :
|
(C++11)
|
descarta algunas salidas de un motor de números aleatorios
(plantilla de clase) |
|
(C++11)
|
empaqueta la salida de un motor de números aleatorios en bloques de un número específico de bits
(plantilla de clase) |
|
(C++11)
|
entrega la salida de un motor de números aleatorios en un orden diferente
(plantilla de clase) |