# C++ concepts: FunctionObject

From cppreference.com
< cpp‎ | concept

A `FunctionObject` type is the type of an object that can be used on the left of the function call operator.

### Requirements

The type `T` satisfies `FunctionObject` if

- The type `T` satisfies std::is_object, and

Given

- `f`, a value of type `T` or `const T`
- `args`, suitable argument list, which may be empty

The following expressions must be valid:

Expression | Requirements
--- | ---
f(args) | performs a function call

### Notes

Functions and references to functions are not function object types, but can be used where function object types are expected due to function-to-pointer implicit conversion.

### Standard library

- All pointers to functions satisfy this requirement.

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/concept/FunctionObject&oldid=91115"