Generator


Category: functors 
Component type: concept 
Description
A Generator is a kind of function object: 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
Function Object overview, Unary Function, Binary Function,
Adaptable Generator