.. _sprout-algorithm: ############################################################################### Sprout.Algorithm ############################################################################### .. toctree:: :hidden: all_of all_of_equal any_of any_of_equal none_of none_of_equal one_of one_of_equal find find_if find_if_not find_end find_first_of adjacent_find count count_if mismatch equal is_permutation search search_n is_sorted is_sorted_until is_increasing is_decreasing is_strictly_increasing is_strictly_decreasing lower_bound upper_bound equal_range binary_search is_heap is_heap_until min max minmax min_element max_element minmax_element lexicographical_compare tristate_lexicographical_compare clamp .. _sprout-algorithm-non_modifying: ******************************************************************************* Non-modifying sequence operations ******************************************************************************* ======================================== =============================================================================== function ======================================== =============================================================================== :doc:`all_of <./all_of>` :doc:`all_of_equal <./all_of_equal>` :doc:`any_of <./any_of>` :doc:`any_of_equal <./any_of_equal>` :doc:`none_of <./none_of>` :doc:`none_of_equal <./none_of_equal>` :doc:`one_of <./one_of>` :doc:`one_of_equal <./one_of_equal>` :doc:`find <./find>` :doc:`find_if <./find_if>` :doc:`find_if_not <./find_if_not>` :doc:`find_end <./find_end>` :doc:`find_first_of <./find_first_of>` :doc:`adjacent_find <./adjacent_find>` :doc:`count <./count>` :doc:`count_if <./count_if>` :doc:`mismatch <./mismatch>` :doc:`equal <./equal>` :doc:`is_permutation <./is_permutation>` :doc:`search <./search>` :doc:`search_n <./search_n>` ======================================== =============================================================================== .. _sprout-algorithm-non_modifying-sorting: Sorting ======================================== ================================================================================ =============================================================================== function ================================================================================ =============================================================================== :doc:`is_sorted <./is_sorted>` :doc:`is_sorted_until <./is_sorted_until>` :doc:`is_increasing <./is_increasing>` :doc:`is_decreasing <./is_decreasing>` :doc:`is_strictly_increasing <./is_strictly_increasing>` :doc:`is_strictly_decreasing <./is_strictly_decreasing>` ================================================================================ =============================================================================== .. _sprout-algorithm-non_modifying-binary: Binary search ======================================== ======================================== =============================================================================== function ======================================== =============================================================================== :doc:`lower_bound <./lower_bound>` :doc:`upper_bound <./upper_bound>` :doc:`equal_range <./equal_range>` :doc:`binary_search <./binary_search>` ======================================== =============================================================================== .. _sprout-algorithm-non_modifying-heap: Heap operations ======================================== ======================================== =============================================================================== function ======================================== =============================================================================== :doc:`is_heap <./is_heap>` :doc:`is_heap_until <./is_heap_until>` ======================================== =============================================================================== .. _sprout-algorithm-non_modifying-minmax: Minimum and maximum ======================================== ======================================== =============================================================================== function ======================================== =============================================================================== :doc:`min <./min>` :doc:`max <./max>` :doc:`minmax <./minmax>` :doc:`min_element <./min_element>` :doc:`max_element <./max_element>` :doc:`minmax_element <./minmax_element>` ======================================== =============================================================================== .. _sprout-algorithm-non_modifying-lexicographical: Lexicographical comparison ======================================== ================================================================================ =============================================================================== function ================================================================================ =============================================================================== :doc:`lexicographical_compare <./lexicographical_compare>` :doc:`tristate_lexicographical_compare <./tristate_lexicographical_compare>` ================================================================================ =============================================================================== .. _sprout-algorithm-non_modifying-clamp: Clamp algorithm ======================================== ======================================== =============================================================================== function ======================================== =============================================================================== :doc:`clamp <./clamp>` ======================================== =============================================================================== Header ======================================== ``sprout/algorithm.hpp``