| |
|
Category : functors | | Component type: concept |
Description
A Unary Function is a kind of functors : an object that is called as if it were an ordinary C++ function. A Unary Function is called with a single argument.
Refinement of
Assignable
Associated types
Argument type | The type of the Unary Function's argument. |
Result type | 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
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.
See also
functors, Generator, BinaryFunction AdaptableUnaryFunction