Function objects (aka functors)
Stateless functors
Stateful functors
Bind expressions
Lambda expressions
Closures
Translating lambda to a class
Ranges