 
 
 
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 | Type requirements | 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 | 
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 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
 
![[Silicon Surf]](http://www.sgi.com/Images/Icon/surf.gif) 
![[STL Home]](stl_home.gif) 
Copyright © 
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation
webmaster@www.sgi.com