...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::accumulators::tag::droppable
// In header: <boost/accumulators/framework/accumulators/droppable_accumulator.hpp> template<typename Feature> struct droppable { // types typedef as_feature< Feature >::type feature_type; typedef feature_type::dependencies tmp_dependencies_; typedef mpl::transform< typename feature_type::dependencies, as_droppable< mpl::_1 > >::type dependencies; // member classes/structs/unions struct impl { // member classes/structs/unions template<typename Sample, typename Weight> struct apply { // types typedef droppable_accumulator< typename mpl::apply2< typename feature_type::impl, Sample, Weight >::type > type; }; }; };