Defined Terms
- binary function object
A class that has a function-call operator and represents one of the binary operators, such as one of the arithmetic or relational operators.
- binder
An adaptor that binds an operand of a specified function object. For example, bind2nd(minus<int>(), 2) generates a unary function object that subtracts two from its operand.
- class-type conversion
Conversions to or from class types. Non-explicit constructors that take a single parameter define a conversion from the parameter type to the class type. Conversion operators define conversions from the class type to the type specified by the operator.
- conversion operators
Conversion operators are member functions that define conversions from the class type to another type. Conversion operators must be a member of their class. They do not specify a return type and take no parameters. They return a value of the type of the conversion operator. That is, operator int returns an int, operator Sales_item returns a Sales_item, and so on.
- function adaptor
Library type that provides a new interface for a function object.
- function object
Object of a class that defines an overloaded call operator. Function objects can be used where functions are normally expected.
- negator
An adaptor that negates the value returned by the specified function object. For example, not2(equal_to<int>()) generates a function object that is equivalent to not_equal_to<int>.
- smart pointer
A class that defines pointer-like behavior and other functionality, such as reference counting, memory management, or more thorough checking. Such classes typically define overloaded versions of dereference (operator*) and member access (operator->).
- unary function object
A class that has a function-call operator and represents one of the unary operators, unary minus or logical NOT.
|