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

比较算法 更多...

#include <initializer_list>
#include "NeForce/core/algorithm/search.hpp"
#include "NeForce/core/memory/memory.hpp"
#include "NeForce/core/utility/pair.hpp"
compare.hpp 的引用(Include)关系图:

浏览该文件的源代码.

函数

template<typename Iterator1, typename Iterator2, typename BinaryPredicate>
NEFORCE_NODISCARD constexpr bool equal (Iterator1 first1, Iterator1 last1, Iterator2 first2, BinaryPredicate binary_pred) noexcept(noexcept(++first1) &&noexcept(++first2) &&noexcept(binary_pred(*first1, *first2)))
 比较两个范围是否相等
template<typename Iterator1, typename Iterator2>
NEFORCE_NODISCARD constexpr bool equal (Iterator1 first1, Iterator1 last1, Iterator2 first2) noexcept(noexcept(_NEFORCE equal(first1, last1, first2, _NEFORCE equal_to< iter_value_t< Iterator1 > >())))
 比较两个范围是否相等
template<typename Iterator, typename T, typename Compare>
constexpr pair< Iterator, Iterator > equal_range (Iterator first, Iterator last, const T &value, Compare comp)
 查找值的相等范围
template<typename Iterator, typename T>
constexpr pair< Iterator, Iterator > equal_range (Iterator first, Iterator last, const T &value)
 查找值的相等范围
template<typename T, typename Compare>
constexpr const T & max (const T &a, const T &b, Compare comp) noexcept(noexcept(comp(a, b)))
 返回两个值中的较大者
template<typename T>
constexpr const T & max (const T &a, const T &b) noexcept(noexcept(a< b))
 返回两个值中的较大者
template<typename T, typename Compare>
constexpr const T & min (const T &a, const T &b, Compare comp) noexcept(noexcept(comp(b, a)))
 返回两个值中的较小者
template<typename T>
constexpr const T & min (const T &a, const T &b) noexcept(noexcept(b< a))
 返回两个值中的较小者
template<typename T, typename Compare>
constexpr const T & median (const T &a, const T &b, const T &c, Compare comp) noexcept(noexcept(comp(a, b)))
 返回三个值的中位数
template<typename T>
constexpr const T & median (const T &a, const T &b, const T &c) noexcept(noexcept(_NEFORCE median(a, b, c, _NEFORCE less< T >())))
 返回三个值的中位数
template<typename Iterator, typename Compare>
pair< iter_value_t< Iterator >, iter_value_t< Iterator > > constexpr minmax (Iterator first, Iterator last, Compare comp)
 查找范围中的最小值和最大值
template<typename Iterator>
constexpr pair< iter_value_t< Iterator >, iter_value_t< Iterator > > minmax (Iterator first, Iterator last)
 查找范围中的最小值和最大值
template<typename Iterator, typename Compare>
constexpr Iterator max_element (Iterator first, Iterator last, Compare comp)
 查找范围中的最大元素
template<typename Iterator>
constexpr Iterator max_element (Iterator first, Iterator last)
 查找范围中的最大元素
template<typename T>
constexpr const T & max (std::initializer_list< T > list)
 返回初始化列表中的最大值
template<typename Iterator, typename Compare>
constexpr Iterator min_element (Iterator first, Iterator last, Compare comp)
 查找范围中的最小元素
template<typename Iterator>
constexpr Iterator min_element (Iterator first, Iterator last)
 查找范围中的最小元素
template<typename T>
constexpr const T & min (std::initializer_list< T > list)
 返回初始化列表中的最小值
template<typename Iterator, typename Compare>
constexpr pair< Iterator, Iterator > minmax_element (Iterator first, Iterator last, Compare comp)
 同时查找范围中的最小和最大元素
template<typename Iterator>
constexpr pair< Iterator, Iterator > minmax_element (Iterator first, Iterator last)
 同时查找范围中的最小和最大元素
template<typename T, typename Compare>
constexpr const T & clamp (const T &value, const T &lower, const T &upper, Compare comp) noexcept(noexcept(comp(value, lower)))
 将值限制在指定范围内
template<typename T>
constexpr const T & clamp (const T &value, const T &lower, const T &upper) noexcept(noexcept(_NEFORCE clamp(value, lower, upper, _NEFORCE less< T >())))
 将值限制在指定范围内
template<typename Iterator1, typename Iterator2, typename Compare>
NEFORCE_NODISCARD constexpr bool lexicographical_compare (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2, Compare comp) noexcept(noexcept(++first1) &&noexcept(++first2) &&noexcept(comp(*first1, *first2)) &&noexcept(first1==last1 &&first2 !=last2))
 字典序比较两个范围
template<typename Iterator1, typename Iterator2>
NEFORCE_NODISCARD constexpr bool lexicographical_compare (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2) noexcept(noexcept(inner::__lexicographical_compare_aux(first1, last1, first2, last2)))
 字典序比较两个范围
template<typename Iterator1, typename Iterator2, typename Compare>
pair< Iterator1, Iterator2 > constexpr mismatch (Iterator1 first1, Iterator1 last1, Iterator2 first2, Compare comp)
 查找两个范围中首个不匹配的元素
template<typename Iterator1, typename Iterator2>
constexpr pair< Iterator1, Iterator2 > mismatch (Iterator1 first1, Iterator1 last1, Iterator2 first2)
 查找两个范围中首个不匹配的元素

详细描述

比较算法

此文件提供了比较算法实现, 包括相等性比较、范围比较、极值查找、字典序比较等功能。

在文件 compare.hpp 中定义.