MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
search.hpp 文件参考

MSTL查找和搜索算法 更多...

search.hpp 的引用(Include)关系图:

浏览该文件的源代码.

函数

template<typename Iterator, typename T, typename Compare, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr Iterator lower_bound (Iterator first, Iterator last, const T &value, Compare comp)
 查找有序范围中第一个不小于指定值的元素位置
template<typename Iterator, typename T>
constexpr Iterator lower_bound (Iterator first, Iterator last, const T &value)
 lower_bound的默认比较版本
template<typename Iterator, typename T, typename Compare, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr Iterator upper_bound (Iterator first, Iterator last, const T &value, Compare comp)
 查找有序范围中第一个大于指定值的元素位置
template<typename Iterator, typename T>
constexpr Iterator upper_bound (Iterator first, Iterator last, const T &value)
 upper_bound的默认比较版本
template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr bool binary_search (Iterator first, Iterator last, const T &value)
 在有序范围内进行二分查找
template<typename Iterator, typename T, typename Compare, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr bool binary_search (Iterator first, Iterator last, const T &value, Compare comp)
 binary_search的谓词版本
template<typename Iterator1, typename Iterator2, typename Compare, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_input_iter_v< Iterator2 >, int > = 0>
constexpr bool includes (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2, Compare comp)
 检查一个有序范围是否包含另一个有序范围的所有元素
template<typename Iterator1, typename Iterator2>
constexpr bool includes (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2)
 includes的默认比较版本
template<typename Iterator, typename Predicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr bool all_of (Iterator first, Iterator last, Predicate pred)
 检查所有元素是否都满足谓词
template<typename Iterator, typename Predicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr bool any_of (Iterator first, Iterator last, Predicate pred)
 检查是否有任意元素满足谓词
template<typename Iterator, typename Predicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr bool none_of (Iterator first, Iterator last, Predicate pred)
 检查是否没有元素满足谓词
template<typename Iterator, typename BinaryPredicate, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr Iterator adjacent_find (Iterator first, Iterator last, BinaryPredicate binary_pred)
 查找第一对满足条件的相邻元素
template<typename Iterator, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr Iterator adjacent_find (Iterator first, Iterator last)
 adjacent_find的默认比较版本
template<typename Iterator, typename T, typename BinaryPredicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr iter_difference_t< Iterator > count_if (Iterator first, Iterator last, const T &value, BinaryPredicate pred)
 统计范围内满足二元谓词的元素数量
template<typename Iterator, typename Predicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr iter_difference_t< Iterator > count_if (Iterator first, Iterator last, Predicate pred)
 统计范围内满足谓词的元素数量
template<typename Iterator, typename T>
constexpr iter_difference_t< Iterator > count (Iterator first, Iterator last, const T &value)
 统计范围内等于指定值的元素数量
template<typename Iterator, typename T>
MSTL_NODISCARD constexpr Iterator find (Iterator first, Iterator last, const T &value)
 查找范围内第一个等于指定值的元素
template<typename Iterator, typename Predicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr Iterator find_if (Iterator first, Iterator last, Predicate pred)
 查找范围内第一个满足谓词的元素
template<typename Iterator, typename Predicate, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0>
constexpr Iterator find_if_not (Iterator first, Iterator last, Predicate pred)
 查找范围内第一个不满足谓词的元素
template<typename Iterator1, typename Iterator2, typename BinaryPredicate, enable_if_t< is_ranges_fwd_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
constexpr Iterator1 search (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2, BinaryPredicate binary_pred)
 在范围内查找子序列的第一次出现
template<typename Iterator1, typename Iterator2>
constexpr Iterator1 search (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2)
 search的默认比较版本
template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr Iterator search_n (Iterator first, Iterator last, const size_t count, const T &value)
 查找范围内连续n个等于指定值的子序列
template<typename Iterator, typename T, typename BinaryPredicate, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
constexpr Iterator search_n (Iterator first, Iterator last, const size_t count, const T &value, BinaryPredicate binary_pred)
 search_n的谓词版本
template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_fwd_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
constexpr Iterator1 find_end (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2)
 在范围内查找子序列的最后一次出现
template<typename Iterator1, typename Iterator2, typename BinaryPredicate, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_input_iter_v< Iterator2 >, int > = 0>
constexpr Iterator1 find_first_of (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2, BinaryPredicate comp)
 查找范围内第一个出现在指定集合中的元素
template<typename Iterator1, typename Iterator2>
constexpr Iterator1 find_first_of (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2)
 find_first_of的默认比较版本

详细描述

MSTL查找和搜索算法

此文件提供了各种查找和搜索算法的实现, 包括区间查询、元素查找、模式匹配等常用算法。

在文件 search.hpp 中定义.