 

Category : functors   Component type: concept 
Description
A Generator is a kind of functors : an object that is called as if it were an ordinary C++ function. A Generator is called with no arguments.
Refinement of
Assignable
Associated types
Result type  The type returned when the Generator is called 
Notation
F  A type that is a model of Generator 
Result  The result type of F 
f  Object of type F 
Definitions
The range of a Generator is the set of all possible value that it may return.
Valid expressions
Name  Expression  Type requirements  Return type 
Function call  f()   Result 
Expression semantics
Name  Expression  Precondition  Semantics  Postcondition 
Function call  f()   Returns some value of type Result [1]  The return value is in f 's range. 
Complexity guarantees
Invariants
Models
Notes
[1] Two different invocations of f
may return different results : a Generator may refer to local state, perform I/O, and so on. The expression f()
is permitted to change f
's state; f
might, for example, represent a pseudorandom number generator.
See also
functors, UnaryFunction, BinaryFunction, AdaptableGenerator