14.8.2. Library-Defined Function Objects
The standard library defines a set of classes that represent the arithmetic, relational, and logical operators. Each class defines a call operator that applies the named operation. For example, the plus
class has a function-call operator that applies +
to a pair of operands; the modulus
class defines a call operator that applies the binary %
operator; the equal_to
class applies ==;
and so on.
These classes are templates to which we supply a single type. That type specifies the parameter type for the call operator. For example, plus<string>
applies the string
addition operator to string
objects; for plus<int>
the operands are int
s; plus<Sales_data>
applies +
to Sales_data
s; and so on:
plus<int> intAdd; // ...
Get C++ Primer, Fifth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.