Function objects
From cppreference.com
                    
                                        
                    
                    
                                                            
                    A function object is any object for which the function call operator is defined.
| 
 Function objects | ||
| Arithmetic operations | ||
| function object implementing x + y (class template) | ||
| function object implementing x - y (class template) | ||
| function object implementing x * y (class template) | ||
| function object implementing x / y (class template) | ||
| function object implementing x % y (class template) | ||
| function object implementing -x (class template) | ||
| Comparisons | ||
| function object implementing x == y (class template) | ||
| function object implementing x != y (class template) | ||
| function object implementing x > y (class template) | ||
| function object implementing x < y (class template) | ||
| function object implementing x >= y (class template) | ||
| function object implementing x <= y (class template) | ||
| Logical operations | ||
| function object implementing x && y (class template) | ||
| function object implementing x || y (class template) | ||
| function object implementing !x (class template) | ||
| Bitwise operations | ||
| function object implementing x & y (class template) | ||
| function object implementing x | y (class template) | ||
| function object implementing x ^ y (class template) | ||
| Negators | ||
| wrapper function object returning the complement of the unary predicate it holds (class template) | ||
| wrapper function object returning the complement of the binary predicate it holds (class template) | ||
| constructs custom std::unary_negate object (function template) | ||
| constructs custom std::binary_negate object (function template) | ||
[edit] Bind
| (C++11) | binds one or more arguments to a function object (function template) | 
| (C++11) | indicates that an object is std::bind expression or can be used as one (class template) | 
| (C++11) | indicates that an object is a standard placeholder or can be used as one (class template) | 
| Defined in namespace std::placeholders  | |
| (C++11) | placeholders for the unbound arguments in a std::bind expression (constant) | 
| Polymorphic function wrappers | |
| (C++11) | binds an object to a pointer to its member function to form independent function object (function template) | 
| (C++11) | wraps callable object of any type with specified function call signature (class template) | 
| (C++11) | the exception thrown when invoking an empty std::function (class) | 
| Reference wrappers | |
| (C++11) | CopyConstructible and CopyAssignable reference wrapper (class template) | 
| (C++11) (C++11) | creates a reference_wrapper of type, deduced from its argument (function template) | 
| Deprecated in C++11 | |
| Base | |
| (deprecated) | adaptor-compatible unary function base class (class template) | 
| (deprecated) | adaptor-compatible binary function base class (class template) | 
| Binders | |
| (deprecated) (deprecated) | function object holding a binary function and one of its arguments (class template) | 
| (deprecated) (deprecated) | binds one argument to a binary function (function template) | 
| Function adaptors | |
| (deprecated) | adaptor-compatible wrapper for a pointer to unary function (class template) | 
| (deprecated) | adaptor-compatible wrapper for a pointer to binary function (class template) | 
| (deprecated) | creates an adaptor-compatible function object wrapper from a pointer to function (function template) | 
| (deprecated) (deprecated) (deprecated) (deprecated) | wrapper for a pointer to nullary member function, callable with a pointer to object (class template) | 
| (deprecated) | creates a wrapper from a pointer to member function, callable with a pointer to object (function template) | 
| (deprecated) (deprecated) (deprecated) (deprecated) | wapper for a pointer to nullary or unary member function, callable with a reference to object (class template) | 
| (deprecated) | creates a wrapper from a pointer to member function, callable with a reference to object (function template) | 

