| |
|
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 pseudo-random number generator.
See also
functors, UnaryFunction, BinaryFunction, AdaptableGenerator