...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::type_erasure::dereferenceable
// In header: <boost/type_erasure/operators.hpp> template<typename R, typename T = _self> struct dereferenceable { // public static functions static R apply(const T &); };