| Expression | Return type | Pre/post-condition | Complexity | 
| S::result_type | T | ||
| S() | Creates a seed sequence
    with the same initial state as all other default-constructed seed sequences
    of type S. | constant | |
| S(ib,ie) | Creates a seed sequence
    having internal state
    that depends on some or all of the bits
    of the supplied sequence [ib,ie). | ||
| S(il) | Same as S(il.begin(), il.end()). | same as S(il.begin(), il.end()) | |
| q.generate(rb,re) | void | ||
| r.size() | size_t | The number of 32-bit units
    that would be copied
    by a call to r.param. | constant | 
| r.param(ob) | void | Copies to the given destination
    a sequence of 32-bit units
    that can be provided
    to the constructor of a second object of type S,
    and that would reproduce in that second object
    a state indistinguishable
    from the state of the first object. | 
| Expression | Return type | Pre/post-condition | Complexity | 
| E() | Creates an engine
    with the same initial state
    as all other default-constructed engines
    of type E. | ||
| E(x) | Creates an engine
    that compares equal to x. | ||
| E(s) | Creates an engine
      with initial state determined by s. | ||
| E(q)240 | Creates an engine
    with an initial state
    that depends on a sequence
    produced by one call
    to q.generate. | same as complexity of q.generate
    called on a sequence
    whose length is size of state | |
| e.seed() | void | Postconditions: e == E(). | same as E() | 
| e.seed(s) | void | Postconditions: e == E(s). | same as E(s) | 
| e.seed(q) | void | Postconditions: e == E(q). | same as E(q) | 
| e() | T | per [rand.req.urng] | |
| e.discard(z)241 | void | no worse than the complexity
    of z consecutive calls e() | |
| x == y | bool | ||
| x != y | bool | !(x == y). | 
os << x
is >> v
A::A();
bool operator==(const A& a1, const A& a2);
A::A(result_type s);
template<class Sseq> A::A(Sseq& q);
void seed();
void seed(result_type s);
template<class Sseq> void seed(Sseq& q);
| Expression | Return type | Pre/post-condition | Complexity | 
| D::result_type | T | ||
| D::param_type | P | ||
| D() | Creates a distribution whose behavior is indistinguishable
    from that of any other newly default-constructed distribution
    of type D. | constant | |
| D(p) | Creates a distribution whose behavior is indistinguishable
    from that of a distribution
    newly constructed directly from the values used to construct p. | same as p's construction | |
| d.reset() | void | constant | |
| x.param() | P | no worse than the complexity of D(p) | |
| d.param(p) | void | Postconditions: d.param() == p. | no worse than the complexity of D(p) | 
| d(g) | T | With ,
    the sequence of numbers
    returned by successive invocations
    with the same object g
    is randomly distributed
    according to the associated
      p(z |{p})
    or
      
    function. | amortized constant number of invocations of g | 
| d(g,p) | T | The sequence of numbers
    returned by successive invocations
    with the same objects g and p
    is randomly distributed
    according to the associated
      p(z |{p})
    or
      
    function. | amortized constant number of invocations of g | 
| x.min() | T | Returns glb. | constant | 
| x.max() | T | Returns lub. | constant | 
| x == y | bool | constant | |
| x != y | bool | !(x == y). | same as x == y. | 
os << x
is >> d