...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::algorithm::clamp_range
// In header: <boost/algorithm/clamp.hpp> template<typename Range, typename OutputIterator> boost::disable_if_c< boost::is_same< Range, OutputIterator >::value, OutputIterator >::type clamp_range(const Range & r, OutputIterator out, typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type lo, typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type hi);