...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
namespace boost { template<typename ForwardIter> std::pair< ForwardIter, ForwardIter > minmax_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> std::pair< ForwardIter, ForwardIter > minmax_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> ForwardIter first_min_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> ForwardIter first_min_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> ForwardIter last_min_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> ForwardIter last_min_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> ForwardIter first_max_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> ForwardIter first_max_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> ForwardIter last_max_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> ForwardIter last_max_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> std::pair< ForwardIter, ForwardIter > first_min_first_max_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> std::pair< ForwardIter, ForwardIter > first_min_first_max_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> std::pair< ForwardIter, ForwardIter > first_min_last_max_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> std::pair< ForwardIter, ForwardIter > first_min_last_max_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> std::pair< ForwardIter, ForwardIter > last_min_first_max_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> std::pair< ForwardIter, ForwardIter > last_min_first_max_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); template<typename ForwardIter> std::pair< ForwardIter, ForwardIter > last_min_last_max_element(ForwardIter first, ForwardIter last); template<typename ForwardIter, typename BinaryPredicate> std::pair< ForwardIter, ForwardIter > last_min_last_max_element(ForwardIter first, ForwardIter last, BinaryPredicate comp); }