YSTest: Sorting and Related Operations

YSTest PreAlpha_b800_20170810 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

函数
Sorting and Related Operations
Gerneral Algorithms

排序相关操作。 更多...

Sorting and Related Operations 的协作图:

## 函数

template<typename _tRandom >
_tRandom | ystdex::sort_unique (_tRandom first, _tRandom last)
| 排序指定序列范围，保留不重复元素的区间。 更多...
template<typename _type , typename _fComp = less<_type>>
const _type & | ystdex::min (const _type &a, const _type &b, _fComp comp=less< _type >())
| 取较小的元素。 更多...
template<typename _type , typename _fComp = less<_type>>
const _type & | ystdex::min (std::initializer_list< _type > t, _fComp comp=less< _type >(), size_t n=0)
template<typename _type , typename _fComp = less<_type>>
const _type & | ystdex::max (const _type &a, const _type &b, _fComp comp=less< _type >())
| 取较大的元素。 更多...
template<typename _type , typename _fComp = less<_type>>
const _type & | ystdex::max (std::initializer_list< _type > t, _fComp comp=less< _type >(), size_t n=0)
template<typename _type , typename _fComp = less<>>
const _type & | ystdex::clamp (const _type &v, const _type &lo, const _type &hi, _fComp comp=_fComp())
| 取约束范围的值。 更多...
template<typename _tIn , typename _tOut , typename _fComp = less<>>
_tOut | ystdex::clamp_range (_tIn first, _tIn last, _tOut result, const typename std::iterator_traits< _tIn >::value_type &lo, const typename std::iterator_traits< _tIn >::value_type &hi, _fComp comp=_fComp())

## 详细描述

排序相关操作。

参见
  WG21 N3936 25.4[alg.sorting] 。

自从
  build 531

## 函数说明

template<typename _type , typename _fComp = less<>>

const _type& ystdex::clamp | ( | const _type & | v,
|  | const _type & | lo,
|  | const _type & | hi,
|  | _fComp | comp = `_fComp()`
| ) |  |

inline

取约束范围的值。

参见
  http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2015/n4536.html

自从
  build 612

在文件 algorithm.hpp 第 571 行定义.

参考 v , 以及 yconstraint.

参考自 ystdex::clamp_range() , 以及 YSLib::RestrictInClosedInterval().

这是这个函数的调用关系图:
template<typename _tIn , typename _tOut , typename _fComp = less<>>

_tOut ystdex::clamp_range | ( | _tIn | first,
|  | _tIn | last,
|  | _tOut | result,
|  | const typename std::iterator_traits< _tIn >::value_type & | lo,
|  | const typename std::iterator_traits< _tIn >::value_type & | hi,
|  | _fComp | comp = `_fComp()`
| ) |  |

inline

在文件 algorithm.hpp 第 578 行定义.

参考 ystdex::clamp().

函数调用图:
template<typename _type , typename _fComp = less<_type>>

const _type& ystdex::max | ( | const _type & | a,
|  | const _type & | b,
|  | _fComp | comp = `less<_type>()`
| ) |  |

inline

取较大的元素。

注解
  语义同 ISO C++14 std::max 的带 constexpr 的重载。

自从
  build 578

在文件 algorithm.hpp 第 549 行定义.

参考 YSLib::a.

参考自 platform::FetchLimit(), YSLib::Drawing::FetchMaxTextWidth(), YSLib::Drawing::HSL::HSL(), YSLib::Drawing::HSV::HSV(), main(), ystdex::max(), std::numeric_limits< ystdex::fixed_point< _tBase, _vInt, _vFrac > >::max(), ystdex::basic_string_view< _tChar, _tTraits >::max_size(), ystdex::narrow_cast(), ystdex::details::not_widen_cast(), ystdex::not_widen_cast(), YSLib::Drawing::Rect::operator|=() , 以及 YSLib::Drawing::TextRegion::Scroll().

这是这个函数的调用关系图:
template<typename _type , typename _fComp = less<_type>>

const _type& ystdex::max | ( | std::initializer_list< _type > | t,
|  | _fComp | comp = `less<_type>()`,
|  | size_t | n = `0`
| ) |  |

inline

在文件 algorithm.hpp 第 555 行定义.

参考 ystdex::max().

函数调用图:
template<typename _type , typename _fComp = less<_type>>

const _type& ystdex::min | ( | const _type & | a,
|  | const _type & | b,
|  | _fComp | comp = `less<_type>()`
| ) |  |

inline

取较小的元素。

注解
  语义同 ISO C++14 std::min 的带 constexpr 的重载。

自从
  build 578

在文件 algorithm.hpp 第 527 行定义.

参考 YSLib::a.

参考自 YSLib::UI::AMUnitList::GetLastLabelIndexClipped(), YSLib::Drawing::HSL::HSL(), YSLib::Drawing::HSV::HSV(), std::numeric_limits< ystdex::fixed_point< _tBase, _vInt, _vFrac > >::lowest(), main(), ystdex::min(), std::numeric_limits< ystdex::fixed_point< _tBase, _vInt, _vFrac > >::min(), ystdex::narrow_cast(), ystdex::details::not_widen_cast(), ystdex::not_widen_cast(), YSLib::Drawing::Rect::operator|=(), YSLib::Drawing::ScaleMin(), ystdex::str_rfind(), ystdex::basic_string_view< _tChar, _tTraits >::substr(), ystdex::to_array(), YSLib::Text::VerifyEncoding() , 以及 ystdex::write().

这是这个函数的调用关系图:
template<typename _type , typename _fComp = less<_type>>

const _type& ystdex::min | ( | std::initializer_list< _type > | t,
|  | _fComp | comp = `less<_type>()`,
|  | size_t | n = `0`
| ) |  |

inline

在文件 algorithm.hpp 第 533 行定义.

参考 ystdex::min().

函数调用图:
template<typename _tRandom >

_tRandom ystdex::sort_unique | ( | _tRandom | first,
|  | _tRandom | last
| ) |  |

inline

排序指定序列范围，保留不重复元素的区间。

模板参数

  _tRandom | 随机迭代器类型。

参数

  first | 输入范围起始迭代器。
  last | 输入范围终止迭代器。

注解
  时间复杂度：令 N = last - first ， O(N log(N)) + N - 1 次比较。

返回
  不重复元素的区间末尾。

自从
  build 414

在文件 algorithm.hpp 第 512 行定义.

参考自 ystdex::alph() , 以及 ystdex::sort_unique().

这是这个函数的调用关系图: