Loading...
Searching...
No Matches
algorithm.h File Reference
`#include "platform.h"`
`#include "error_handler.h"`
`#include "exception.h"`
`#include "functional.h"`
`#include "gcd.h"`
`#include "initializer_list.h"`
`#include "invoke.h"`
`#include "iterator.h"`
`#include "largest.h"`
`#include "ranges.h"`
`#include "type_traits.h"`
`#include "utility.h"`
`#include <stddef.h>`
`#include <string.h>`
`#include "private/minmax_push.h"`
`#include <algorithm>`
`#include <functional>`
`#include <iterator>`
`#include <numeric>`
`#include <utility>`
`#include "etl/private/diagnostic_array_bounds_push.h"`
`#include "etl/private/diagnostic_pop.h"`
`#include "etl/private/diagnostic_stringop_overread_push.h"`
`#include "private/minmax_pop.h"`

Go to the source code of this file.

## Classes

struct | etl::stable_partition_exception
struct | etl::stable_partition_buffer_too_small
struct | etl::private_algorithm::swap_impl< false >
struct | etl::private_algorithm::swap_impl< true >

## Namespaces

namespace | etl

## Functions

template<typename TIterator>
ETL_CONSTEXPR20 void | etl::shell_sort (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR20 void | etl::shell_sort (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::insertion_sort (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::insertion_sort (TIterator first, TIterator last, TCompare compare)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR20 void | etl::iter_swap (TIterator1 a, TIterator2 b)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR20 TIterator2 | etl::swap_ranges (TIterator1 first1, TIterator1 last1, TIterator2 first2)
template<typename TIterator, typename TFunction>
ETL_CONSTEXPR14 void | etl::generate (TIterator db, TIterator de, TFunction funct)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR14 TIterator2 | etl::copy (TIterator1 sb, TIterator1 se, TIterator2 db)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR14 TIterator2 | etl::reverse_copy (TIterator1 sb, TIterator1 se, TIterator2 db)
template<typename TIterator1, typename TSize, typename TIterator2>
ETL_CONSTEXPR14 TIterator2 | etl::copy_n (TIterator1 sb, TSize count, TIterator2 db)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR14 TIterator2 | etl::copy_backward (TIterator1 sb, TIterator1 se, TIterator2 de)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR14 TIterator2 | etl::move (TIterator1 sb, TIterator1 se, TIterator2 db)
template<typename TIterator1, typename TIterator2>
ETL_CONSTEXPR14 TIterator2 | etl::move_backward (TIterator1 sb, TIterator1 se, TIterator2 de)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_pointer< TIterator >::value, void >::type | etl::reverse (TIterator b, TIterator e)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_pointer< TIterator >::value, void >::type | etl::reverse (TIterator b, TIterator e)
template<typename TIterator, typename TValue, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::lower_bound (TIterator first, TIterator last, const TValue &value, TCompare compare)
template<typename TIterator, typename TValue>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::lower_bound (TIterator first, TIterator last, const TValue &value)
template<typename TIterator, typename TValue, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::upper_bound (TIterator first, TIterator last, const TValue &value, TCompare compare)
template<typename TIterator, typename TValue>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::upper_bound (TIterator first, TIterator last, const TValue &value)
template<typename TIterator, typename TValue, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 ETL_OR_STD::pair< TIterator, TIterator > | etl::equal_range (TIterator first, TIterator last, const TValue &value, TCompare compare)
template<typename TIterator, typename TValue>
ETL_NODISCARD ETL_OR_STD::pair< TIterator, TIterator > | etl::equal_range (TIterator first, TIterator last, const TValue &value)
template<typename TIterator, typename T, typename Compare>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::binary_search (TIterator first, TIterator last, const T &value, Compare compare)
template<typename TIterator, typename T>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::binary_search (TIterator first, TIterator last, const T &value)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::find_if (TIterator first, TIterator last, TUnaryPredicate predicate)
template<typename TIterator, typename T>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::find (TIterator first, TIterator last, const T &value)
template<typename TIterator, typename TValue>
ETL_CONSTEXPR14 void | etl::fill (TIterator first, TIterator last, const TValue &value)
template<typename TIterator, typename TSize, typename TValue>
ETL_CONSTEXPR14 TIterator | etl::fill_n (TIterator first, TSize count, const TValue &value)
template<typename TIterator, typename T>
ETL_NODISCARD ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type | etl::count (TIterator first, TIterator last, const T &value)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type | etl::count_if (TIterator first, TIterator last, TUnaryPredicate predicate)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::equal (TIterator1 first1, TIterator1 last1, TIterator2 first2)
template<typename TIterator1, typename TIterator2, typename TPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::equal (TIterator1 first1, TIterator1 last1, TIterator2 first2, TPredicate predicate)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::equal (TIterator1 first1, TIterator1 last1, TIterator2 first2, TIterator2 last2)
template<typename TIterator1, typename TIterator2, typename TPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::equal (TIterator1 first1, TIterator1 last1, TIterator2 first2, TIterator2 last2, TPredicate predicate)
template<typename TIterator1, typename TIterator2, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::lexicographical_compare (TIterator1 first1, TIterator1 last1, TIterator2 first2, TIterator2 last2, TCompare compare)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::lexicographical_compare (TIterator1 first1, TIterator1 last1, TIterator2 first2, TIterator2 last2)
template<typename T, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR const T & | etl::min (const T &a, const T &b, TCompare compare)
template<typename T>
ETL_NODISCARD ETL_CONSTEXPR const T & | etl::min (const T &a, const T &b)
template<typename T, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR const T & | etl::max (const T &a, const T &b, TCompare compare)
template<typename T>
ETL_NODISCARD ETL_CONSTEXPR const T & | etl::max (const T &a, const T &b)
template<typename TIterator, typename TUnaryOperation>
ETL_CONSTEXPR14 TUnaryOperation | etl::for_each (TIterator first, TIterator last, TUnaryOperation unary_operation)
template<typename TIteratorIn, typename TIteratorOut, typename TUnaryOperation>
ETL_CONSTEXPR14 TIteratorOut | etl::transform (TIteratorIn first1, TIteratorIn last1, TIteratorOut d_first, TUnaryOperation unary_operation)
template<typename TIteratorIn1, typename TIteratorIn2, typename TIteratorOut, typename TBinaryOperation>
ETL_CONSTEXPR14 TIteratorOut | etl::transform (TIteratorIn1 first1, TIteratorIn1 last1, TIteratorIn2 first2, TIteratorOut d_first, TBinaryOperation binary_operation)
template<typename TIterator, typename T>
ETL_CONSTEXPR14 void | etl::replace (TIterator first, TIterator last, const T &old_value, const T &new_value)
template<typename TIterator, typename TPredicate, typename T>
ETL_CONSTEXPR14 void | etl::replace_if (TIterator first, TIterator last, TPredicate predicate, const T &new_value)
template<typename TIterator, typename TDistance, typename TCompare>
ETL_CONSTEXPR14 bool | etl::private_heap::is_heap (const TIterator first, const TDistance n, TCompare compare)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::pop_heap (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::pop_heap (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::push_heap (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::push_heap (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::make_heap (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::make_heap (TIterator first, TIterator last)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_heap (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_heap (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::sort_heap (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::sort_heap (TIterator first, TIterator last, TCompare compare)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::partial_sort (TIterator first, TIterator middle, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::partial_sort (TIterator first, TIterator middle, TIterator last)
template<typename TInputIterator, typename TRandomAccessIterator, typename TCompare>
ETL_CONSTEXPR14 TRandomAccessIterator | etl::partial_sort_copy (TInputIterator first, TInputIterator last, TRandomAccessIterator d_first, TRandomAccessIterator d_last, TCompare compare)
template<typename TInputIterator, typename TRandomAccessIterator>
ETL_CONSTEXPR14 TRandomAccessIterator | etl::partial_sort_copy (TInputIterator first, TInputIterator last, TRandomAccessIterator d_first, TRandomAccessIterator d_last)
template<typename TIterator1, typename TIterator2, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator1 | etl::search (TIterator1 first, TIterator1 last, TIterator2 search_first, TIterator2 search_last, TCompare compare)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator1 | etl::search (TIterator1 first, TIterator1 last, TIterator2 search_first, TIterator2 search_last)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_random_access_iterator< TIterator >::value, TIterator >::type | etl::private_algorithm::rotate_general (TIterator first, TIterator middle, TIterator last)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_bidirectional_iterator< TIterator >::value, TIterator >::type | etl::private_algorithm::rotate_general (TIterator first, TIterator middle, TIterator last)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_forward_iterator< TIterator >::value, TIterator >::type | etl::private_algorithm::rotate_general (TIterator first, TIterator middle, TIterator last)
template<typename TIterator>
ETL_CONSTEXPR14 TIterator | etl::private_algorithm::rotate_right_by_one (TIterator first, TIterator last)
template<typename TIterator>
ETL_CONSTEXPR14 TIterator | etl::rotate (TIterator first, TIterator middle, TIterator last)
template<typename TIterator1, typename TIterator2, typename TPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator1 | etl::find_end (TIterator1 b, TIterator1 e, TIterator2 sb, TIterator2 se, TPredicate predicate)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator1 | etl::find_end (TIterator1 b, TIterator1 e, TIterator2 sb, TIterator2 se)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::min_element (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::min_element (TIterator begin, TIterator end)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::max_element (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::max_element (TIterator begin, TIterator end)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 ETL_OR_STD::pair< TIterator, TIterator > | etl::minmax_element (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 ETL_OR_STD::pair< TIterator, TIterator > | etl::minmax_element (TIterator begin, TIterator end)
template<typename T>
ETL_NODISCARD ETL_CONSTEXPR14 ETL_OR_STD::pair< const T &, const T & > | etl::minmax (const T &a, const T &b)
template<typename T, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 ETL_OR_STD::pair< const T &, const T & > | etl::minmax (const T &a, const T &b, TCompare compare)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::is_sorted_until (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::is_sorted_until (TIterator begin, TIterator end)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_sorted (TIterator begin, TIterator end)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_sorted (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::is_unique_sorted_until (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::is_unique_sorted_until (TIterator begin, TIterator end)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_unique_sorted (TIterator begin, TIterator end)
template<typename TIterator, typename TCompare>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_unique_sorted (TIterator begin, TIterator end, TCompare compare)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::find_if_not (TIterator begin, TIterator end, TUnaryPredicate predicate)
template<typename TIterator, typename TBinaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::adjacent_find (TIterator first, TIterator last, TBinaryPredicate predicate)
template<typename TIterator>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::adjacent_find (TIterator first, TIterator last)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2)
template<typename TIterator1, typename TIterator2, typename TBinaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2, TBinaryPredicate predicate)
template<typename TIterator1, typename TIterator2>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2, TIterator2 end2)
template<typename TIterator1, typename TIterator2, typename TBinaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2, TIterator2 end2, TBinaryPredicate predicate)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 bool | etl::next_permutation (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 bool | etl::next_permutation (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 bool | etl::prev_permutation (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 bool | etl::prev_permutation (TIterator first, TIterator last)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::is_partitioned (TIterator begin, TIterator end, TUnaryPredicate predicate)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::partition_point (TIterator begin, TIterator end, TUnaryPredicate predicate)
template<typename TSource, typename TDestinationTrue, typename TDestinationFalse, typename TUnaryPredicate>
ETL_CONSTEXPR14 ETL_OR_STD::pair< TDestinationTrue, TDestinationFalse > | etl::partition_copy (TSource begin, TSource end, TDestinationTrue destination_true, TDestinationFalse destination_false, TUnaryPredicate predicate)
template<typename TSource, typename TDestinationTrue, typename TDestinationFalse, typename TUnaryPredicate>
ETL_CONSTEXPR14 ETL_OR_STD::pair< TDestinationTrue, TDestinationFalse > | etl::partition_move (TSource begin, TSource end, TDestinationTrue destination_true, TDestinationFalse destination_false, TUnaryPredicate predicate)
template<typename TIterator, typename TOutputIterator, typename TUnaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::copy_if (TIterator begin, TIterator end, TOutputIterator out, TUnaryPredicate predicate)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::all_of (TIterator begin, TIterator end, TUnaryPredicate predicate)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::any_of (TIterator begin, TIterator end, TUnaryPredicate predicate)
template<typename TIterator, typename TUnaryPredicate>
ETL_NODISCARD ETL_CONSTEXPR14 bool | etl::none_of (TIterator begin, TIterator end, TUnaryPredicate predicate)
template<typename TIterator, typename TCompare>
void | etl::sort (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
void | etl::sort (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
void | etl::stable_sort (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
void | etl::stable_sort (TIterator first, TIterator last)
template<typename TIterator, typename T>
ETL_CONSTEXPR14 T | etl::accumulate (TIterator first, TIterator last, T sum)
template<typename TIterator, typename T, typename TBinaryOperation>
ETL_CONSTEXPR14 T | etl::accumulate (TIterator first, TIterator last, T sum, TBinaryOperation operation)
template<typename T, typename TCompare>
ETL_CONSTEXPR T | etl::clamp (const T &value, const T &low, const T &high, TCompare compare)
template<typename T>
ETL_CONSTEXPR T | etl::clamp (const T &value, const T &low, const T &high)
template<typename T, T Low, T High, typename TCompare>
ETL_CONSTEXPR T | etl::clamp (const T &value, TCompare compare)
template<typename T, T Low, T High>
ETL_CONSTEXPR T | etl::clamp (const T &value)
template<typename TIterator, typename T>
ETL_CONSTEXPR14 TIterator | etl::remove (TIterator first, TIterator last, const T &value)
template<typename TIterator, typename TUnaryPredicate>
ETL_CONSTEXPR14 TIterator | etl::remove_if (TIterator first, TIterator last, TUnaryPredicate predicate)
template<typename TIterator>
ETL_CONSTEXPR14 TIterator | etl::unique (TIterator first, TIterator last)
template<typename TIterator, typename TBinaryPredicate>
ETL_CONSTEXPR14 TIterator | etl::unique (TIterator first, TIterator last, TBinaryPredicate predicate)
template<typename TInputIterator, typename TOutputIterator>
ETL_CONSTEXPR14 TOutputIterator | etl::unique_copy (TInputIterator first, TInputIterator last, TOutputIterator d_first)
template<typename TInputIterator, typename TOutputIterator, typename TBinaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::unique_copy (TInputIterator first, TInputIterator last, TOutputIterator d_first, TBinaryPredicate predicate)
template<typename TInputIterator1, typename TInputIterator2, typename TOutputIterator, typename TCompare>
ETL_CONSTEXPR14 TOutputIterator | etl::merge (TInputIterator1 first1, TInputIterator1 last1, TInputIterator2 first2, TInputIterator2 last2, TOutputIterator d_first, TCompare compare)
template<typename TInputIterator1, typename TInputIterator2, typename TOutputIterator>
ETL_CONSTEXPR14 TOutputIterator | etl::merge (TInputIterator1 first1, TInputIterator1 last1, TInputIterator2 first2, TInputIterator2 last2, TOutputIterator d_first)
template<typename TBidirectionalIterator, typename TCompare>
void | etl::inplace_merge (TBidirectionalIterator first, TBidirectionalIterator middle, TBidirectionalIterator last, TCompare compare)
template<typename TBidirectionalIterator>
void | etl::inplace_merge (TBidirectionalIterator first, TBidirectionalIterator middle, TBidirectionalIterator last)
template<typename TInputIterator, typename TOutputIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_random_iterator< TInputIterator >::value &&etl::is_random_iterator< TOutputIterator >::value, TOutputIterator >::type | etl::copy_s (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end)
template<typename TInputIterator, typename TOutputIterator>
ETL_CONSTEXPR14 etl::enable_if<!etl::is_random_iterator< TInputIterator >::value||!etl::is_random_iterator< TOutputIterator >::value, TOutputIterator >::type | etl::copy_s (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end)
template<typename TInputIterator, typename TSize, typename TOutputIterator>
ETL_CONSTEXPR14 TOutputIterator | etl::copy_n_s (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TOutputIterator o_end)
template<typename TInputIterator, typename TSize1, typename TOutputIterator, typename TSize2>
ETL_CONSTEXPR14 TOutputIterator | etl::copy_n_s (TInputIterator i_begin, TSize1 n1, TOutputIterator o_begin, TSize2 n2)
template<typename TInputIterator, typename TOutputIterator, typename TUnaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::copy_if_s (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end, TUnaryPredicate predicate)
template<typename TInputIterator, typename TSize, typename TOutputIterator, typename TUnaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::copy_n_if (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryPredicate predicate)
template<typename TInputIterator, typename TOutputIterator>
TOutputIterator | etl::move_s (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end)
template<typename TIterator, typename TValue>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::binary_find (TIterator begin, TIterator end, const TValue &value)
template<typename TIterator, typename TValue, typename TBinaryPredicate, typename TBinaryEquality>
ETL_NODISCARD ETL_CONSTEXPR14 TIterator | etl::binary_find (TIterator begin, TIterator end, const TValue &value, TBinaryPredicate predicate, TBinaryEquality equality)
template<typename TIterator, typename TUnaryFunction, typename TUnaryPredicate>
ETL_CONSTEXPR14 TUnaryFunction | etl::for_each_if (TIterator begin, const TIterator end, TUnaryFunction function, TUnaryPredicate predicate)
template<typename TIterator, typename TSize, typename TUnaryFunction>
ETL_CONSTEXPR14 TIterator | etl::for_each_n (TIterator begin, TSize n, TUnaryFunction function)
template<typename TIterator, typename TSize, typename TUnaryFunction, typename TUnaryPredicate>
ETL_CONSTEXPR14 TIterator | etl::for_each_n_if (TIterator begin, TSize n, TUnaryFunction function, TUnaryPredicate predicate)
template<typename TInputIterator, typename TOutputIterator, typename TUnaryFunction>
ETL_CONSTEXPR14 TOutputIterator | etl::transform_s (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end, TUnaryFunction function)
template<typename TInputIterator, typename TSize, typename TOutputIterator, typename TUnaryFunction>
ETL_CONSTEXPR14 void | etl::transform_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryFunction function)
template<typename TInputIterator1, typename TInputIterator2, typename TSize, typename TOutputIterator, typename TBinaryFunction>
ETL_CONSTEXPR14 void | etl::transform_n (TInputIterator1 i_begin1, TInputIterator2 i_begin2, TSize n, TOutputIterator o_begin, TBinaryFunction function)
template<typename TInputIterator, typename TOutputIterator, typename TUnaryFunction, typename TUnaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::transform_if (TInputIterator i_begin, const TInputIterator i_end, TOutputIterator o_begin, TUnaryFunction function, TUnaryPredicate predicate)
template<typename TInputIterator1, typename TInputIterator2, typename TOutputIterator, typename TBinaryFunction, typename TBinaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::transform_if (TInputIterator1 i_begin1, const TInputIterator1 i_end1, TInputIterator2 i_begin2, TOutputIterator o_begin, TBinaryFunction function, TBinaryPredicate predicate)
template<typename TInputIterator, typename TSize, typename TOutputIterator, typename TUnaryFunction, typename TUnaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::transform_n_if (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryFunction function, TUnaryPredicate predicate)
template<typename TInputIterator1, typename TInputIterator2, typename TSize, typename TOutputIterator, typename TBinaryFunction, typename TBinaryPredicate>
ETL_CONSTEXPR14 TOutputIterator | etl::transform_n_if (TInputIterator1 i_begin1, TInputIterator2 i_begin2, TSize n, TOutputIterator o_begin, TBinaryFunction function, TBinaryPredicate predicate)
template<typename TSource, typename TDestinationTrue, typename TDestinationFalse, typename TUnaryFunctionTrue, typename TUnaryFunctionFalse, typename TUnaryPredicate>
ETL_CONSTEXPR14 ETL_OR_STD::pair< TDestinationTrue, TDestinationFalse > | etl::partition_transform (TSource begin, TSource end, TDestinationTrue destination_true, TDestinationFalse destination_false, TUnaryFunctionTrue function_true, TUnaryFunctionFalse function_false, TUnaryPredicate predicate)
template<typename TSource1, typename TSource2, typename TDestinationTrue, typename TDestinationFalse, typename TBinaryFunctionTrue, typename TBinaryFunctionFalse, typename TBinaryPredicate>
ETL_CONSTEXPR14 ETL_OR_STD::pair< TDestinationTrue, TDestinationFalse > | etl::partition_transform (TSource1 begin1, TSource1 end1, TSource2 begin2, TDestinationTrue destination_true, TDestinationFalse destination_false, TBinaryFunctionTrue function_true, TBinaryFunctionFalse function_false, TBinaryPredicate predicate)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_forward_iterator< TIterator >::value, TIterator >::type | etl::private_algorithm::get_before_last (TIterator first_, TIterator last_)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_bidirectional_iterator< TIterator >::value, TIterator >::type | etl::private_algorithm::get_before_last (TIterator, TIterator last_)
template<typename TIterator>
ETL_CONSTEXPR14 etl::enable_if< etl::is_random_access_iterator< TIterator >::value, TIterator >::type | etl::private_algorithm::get_before_last (TIterator, TIterator last_)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR20 void | etl::selection_sort (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR20 void | etl::selection_sort (TIterator first, TIterator last)
template<typename TIterator, typename TCompare>
ETL_CONSTEXPR14 void | etl::heap_sort (TIterator first, TIterator last, TCompare compare)
template<typename TIterator>
ETL_CONSTEXPR14 void | etl::heap_sort (TIterator first, TIterator last)
template<typename TIterator, typename TPredicate>
ETL_CONSTEXPR14 etl::enable_if< etl::is_forward_iterator< TIterator >::value, TIterator >::type | etl::partition (TIterator first, TIterator last, TPredicate predicate)
| Returns the maximum value.
template<typename TIterator, typename TPredicate>
ETL_CONSTEXPR14 etl::enable_if< etl::is_bidirectional_iterator_concept< TIterator >::value, TIterator >::type | etl::partition (TIterator first, TIterator last, TPredicate predicate)
template<typename TIterator, typename TPredicate>
ETL_CONSTEXPR14 TIterator | etl::stable_partition (TIterator first, TIterator last, TPredicate predicate)
template<typename TIterator, typename TPredicate>
ETL_CONSTEXPR14 TIterator | etl::stable_partition (TIterator first, TIterator last, TIterator buffer_first, TIterator buffer_last, TPredicate predicate)
template<typename TIterator, typename TCompare>
TIterator | etl::private_algorithm::nth_partition (TIterator first, TIterator last, TCompare compare)
template<typename TIterator, typename TCompare>
etl::enable_if< etl::is_random_access_iterator_concept< TIterator >::value, void >::type | etl::nth_element (TIterator first, TIterator nth, TIterator last, TCompare compare)
template<typename TIterator>
etl::enable_if< etl::is_random_access_iterator_concept< TIterator >::value, void >::type | etl::nth_element (TIterator first, TIterator nth, TIterator last)