generic algorithm:
    inner_product, inplace_merge, iter_swap,
    lexicograph_compare, lower_bound, max, min,
    max_element, min_element