|
yconstfn int | YSLib::FetchZero () ynothrow |
| 取整数类型的零元素。
|
|
yconstfn s8 | YSLib::FetchSign (int a, int b=0) ynothrow |
| 整数类型符号函数。
|
|
template<typename _type > |
yconstfn s8 | YSLib::FetchSign (const _type &a, const _type &b=FetchZero< _type >()) ynothrow |
| 符号函数。
|
|
yconstfn int | YSLib::FetchSignFromInterval (int d, int a, int b) ynothrow |
| 判断整数 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。
|
|
template<typename _type > |
yconstfn int | YSLib::FetchSignFromInterval (const _type &d, const _type &a, const _type &b) ynothrow |
| 判断 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。
|
|
template<typename _type > |
bool | YSLib::IsInInterval (_type i, _type b) ynothrow |
| 判断 i 是否在左闭右开区间 [FetchZero<_type>() , b) 中。
|
|
template<typename _type > |
bool | YSLib::IsInInterval (_type i, _type a, _type b) ynothrow |
| 判断 i 是否在左闭右开区间 [a, b) 中。
|
|
template<typename _type > |
bool | YSLib::IsInOpenInterval (_type i, _type b) ynothrow |
| 判断 i 是否在开区间 (FetchZero<_type>(), b) 内。
|
|
template<typename _type > |
bool | YSLib::IsInOpenInterval (_type i, _type a, _type b) ynothrow |
| 判断 i 是否在开区间 (a, b) 内。
|
|
template<typename _type > |
size_t | YSLib::SwitchInterval (_type v, const _type *a, size_t n) ynothrow |
| 计算满足指定的值 v 在区间 [a[i] , a[i + 1] ) 内最小的 i 。
|
|
template<typename _type > |
size_t | YSLib::SwitchAddedInterval (_type v, const _type *a, size_t n) ynothrow |
| 计算满足指定的值 v 在区间 [b(i), b(i + 1)) 内的最小的 i ; 其中 b(i) 是 a[i] 前 i 项的和。
|
|
template<typename _type > |
void | YSLib::RestrictInClosedInterval (_type &i, int a, int b) ynothrow |
| 约束整数 i 在闭区间 [a, b] 中。
|
|
template<typename _type > |
void | YSLib::RestrictInInterval (_type &i, int a, int b) ynothrow |
| 约束整数 i 在左闭右开区间 [a, b) 中。
|
|
template<typename _type > |
void | YSLib::RestrictUnsignedStrict (_type &u, unsigned b) ynothrow |
| 约束无符号整数 u 在区间上界 b 内。
|
|
template<typename _type > |
void | YSLib::RestrictUnsigned (_type &u, unsigned b) ynothrow |
| 约束无符号整数 u 在左闭右开区间 [0, b) 中。
|
|
template<typename _type > |
void | YSLib::RestrictLessEqual (_type &a, _type &b) ynothrow |
| 约束关系:a ≤ b 。
|
|
template<typename _tOut > |
void | YSLib::ClearSequence (_tOut dst, size_t n) ynothrow |
| 清除指定的连续对象。
|
|
template<typename _type > |
yconstfn auto | YSLib::CloneNonpolymorphic (const _type &p) -> decltype(&*p) |
| 使用 new 复制指定指针指向的对象。
|
|
template<class _type > |
auto | YSLib::ClonePolymorphic (const _type &p) -> decltype(&*p) |
| 使用 Clone 成员函数复制指定指针指向的多态类类型对象。
|
|