C++ named requirements:FunctionObject
A FunctionObject type is the type of an object that can be used on the left of the function call operator.
A FunctionObject type is the type of an object that can be used on the left of the function call operator.
A FunctionObject type is the type of an object that can be used on the left of the function call operator.