Книга: Standard Template Library Programmer
Binary Function
Разделы на этой странице:
Binary Function
Category: functors
Component type: concept
Description
A Binary Function is a kind of function object: an object that is called as if it were an ordinary C++ function. A Binary Function is called with two arguments.
Refinement of
Assignable
Associated types
First argument type | The type of the Binary Function's first argument. |
Second argument type | The type of the Binary Function's second argument. |
Result type | The type returned when the Binary Function is called |
Notation
F
A type that is a model of BinaryFunction
X
The first argument type of F
Y
The second argument type of F
Result
The result type of F
f
Object of type F
x
Object of type X
y
Object of type Y
Definitions
The domain of a Binary Function is the set of all ordered pairs (x, y) that are permissible values for its arguments.
The range of a Binary Function is the set of all possible value that it may return.
Valid expressions
Name | Expression | Return type |
---|---|---|
Function call | f(x,y) |
Result |
Expression semantics
Name | Expression | Precondition | Semantics | Postcondition |
---|---|---|---|---|
Function call | f(x,y) |
The ordered pair (x,y) is in f's domain | Calls f with x and y as arguments, and returns a value of type Result [1] | The return value is in f's range |
Models
• Result (*)(X,Y)
Notes
[1] Two different invocations of f may return different results, even if f is called with the same arguments both times. A Binary Function may refer to local state, perform I/O, and so on. The expression f(x,y) is permitted to change f's state.
See also
Function Object overview, Generator, Unary Function, Adaptable Binary Function
- Binary Serialization
- Adaptable Unary Function
- Adaptable Binary Function
- pointer_to_binary_function
- EXTERNAL FUNCTION DIRECTORY
- CHAPTER 4 Functions and Libraries in mikroC
- 2. Binary – the way micros count
- Functions
- Basic Functions
- Using Functions in Shell Scripts
- 13.5. Binary Utilities
- 13.6. Miscellaneous Binary Utilities