Defined Terms
binary function objectA class that has a function-call operator and represents one of the binary operators, such as one of the arithmetic or relational operators.
binderAn 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 conversionConversions 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 operatorsConversion 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 adaptorLibrary type that provides a new interface for a function object.
function objectObject of a class that defines an overloaded call operator. Function objects can be used where functions are normally expected.
negatorAn 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 pointerA 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 objectA class that has a function-call operator and represents one of the unary operators, unary minus or logical NOT.