...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::droppable_accumulator_base
// In header: <boost/accumulators/framework/accumulators/droppable_accumulator.hpp> template<typename Accumulator> struct droppable_accumulator_base { // types typedef droppable_accumulator_base base; typedef mpl::true_ is_droppable; typedef Accumulator::result_type result_type; // construct/copy/destruct template<typename Args> droppable_accumulator_base(Args const &); // public member functions template<typename Args> void operator()(Args const &) ; template<typename Args> void add_ref(Args const &) ; template<typename Args> void drop(Args const &) ; bool is_dropped() const; };