A Unary Function is a kind of function object: an object that is called
as if it were an ordinary C++ function. A Unary Function is called with a
single argument.
The type returned when the Unary Function is called
Notation
F
A type that is a model of Unary Function
X
The argument type of F
Result
The result type of F
f
Object of type F
x
Object of type X
Definitions
The domain of a Unary Function is the set of all permissible
values for its argument.
The range of a Unary Function is the set of all possible values
that it may return.
Valid expressions
Name
Expression
Type requirements
Return type
Function call
f(x)
Result
Expression semantics
Name
Expression
Precondition
Semantics
Postcondition
Function call
f(x)
x is in f's domain
Calls f with x as an argument, and returns a value of type Result[1]
The return value is in f's range
Complexity guarantees
Invariants
Models
Result (*)(X)
Notes
[1]
Two different invocations of f may return different results, even
if f is called with the same arguments both times.
A Unary Function may refer to local state, perform I/O,
and so on. The expression f(x) is permitted to change f's state.