...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
Binding function objects serves two purposes: * Partial function application * Quick adaption of already existing function objects
In order to deduce the return type of the function object, it has to implement the Boost.Result Of protocol. If the bound function object is polymorphic, the resulting binding object is polymorphic.