call signature Represents the interface of a callable object. A call signature includes the return type and a comma-separated list of argument types enclosed in parentheses.
class-type conversion Conversions to or from class types are defined by constructors and conversion operators, respectively. Non
explicit
constructors that take a single argument define a conversion from the argument type to the class type. Conversion operators define conversions from the class type to the specified type.
conversion operator A member function that defines a conversions from the class type to another type. A conversion operator must be a member of the class from which it converts and is usually a
const
member. These operators have no return type and take no parameters. They return a value convertible to the type of the conversion operator. That is,operator int
returns anint
,operator string
returns astring
, and so on.
explicit conversion operator Conversion operator preceeded by the
explicit
keyword. Such operators are used for implicit conversions only in conditions.
function object Object of a class that defines an overloaded call operator. Function objects can be used where functions are normally expected.
function table Container, often a
map
or avector
, that holds values that can be called.
function template Library template that can represent any callable type.
overloaded operator Function that redefines the meaning of one of the built-in operators. Overloaded operator functions have the name
operator
followed by the symbol being defined. Overloaded operators must have at least one operand of class type. Overloaded operators have the same precedence, associativity and number of operands as their built-in counterparts.
user-defined conversion A synonym for class-type conversion.