Each type instantiated
from a class template specified in this section [rand.adapt]
satisfies the requirements
of a random number engine adaptor ([rand.req.adapt]) type.
Every function described in this section [rand.adapt]
that has a function parameter q of type Sseq&
for a template type parameter named Sseq
that is different from type seed_seq
throws what and when the invocation of q.generate throws.
Descriptions are provided in this section [rand.adapt]
only for adaptor operations
that are not described in section [rand.req.adapt]
or for operations where there is additional semantic information.
In particular,
declarations for copy constructors,
for copy assignment operators,
for streaming operators,
and for equality and inequality operators
are not shown in the synopses.
Each template specified in this section [rand.adapt]
requires one or more relationships,
involving the value(s) of its non-type template parameter(s), to hold.
A program instantiating any of these templates
is ill-formed
if any such required relationship fails to hold.