stlab.adobe.com Adobe Systems Incorporated

BinaryFunction

functors.gif
concept.gif
Category : functors Component type: concept

Description

A Binary Function is a kind of functors : 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

  • 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

functors, Generator, UnaryFunction AdaptableBinaryFunction

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google