SGI Logo


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 pseudo-random number generator.

See also

Function Object overview, Unary Function, Binary Function, Adaptable Generator

STL Home