|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
持续时间类型及其辅助函数 更多...
类 | |
| struct | neforce::is_duration< T > |
| 检查是否为持续时间类型 更多... | |
| class | neforce::duration< Rep, Period > |
| 持续时间类模板 更多... | |
类型定义 | |
| using | neforce::nanoseconds = duration<int64_t, nano> |
| 纳秒持续时间 | |
| using | neforce::microseconds = duration<int64_t, micro> |
| 微秒持续时间 | |
| using | neforce::milliseconds = duration<int64_t, milli> |
| 毫秒持续时间 | |
| using | neforce::seconds = duration<int64_t> |
| 秒持续时间 | |
| using | neforce::minutes = duration<int64_t, ratio<60>> |
| 分钟持续时间 | |
| using | neforce::hours = duration<int64_t, ratio<3600>> |
| 小时持续时间 | |
| using | neforce::days = duration<int64_t, ratio<86400>> |
| 天持续时间 | |
| using | neforce::weeks = duration<int64_t, ratio<604800>> |
| 周持续时间 | |
| using | neforce::years = duration<int64_t, ratio<31556952>> |
| 年持续时间(天文年) | |
| using | neforce::months = duration<int64_t, ratio<2629746>> |
| 月持续时间(平均月) | |
函数 | |
| template<typename ToDur, typename Rep, typename Period, enable_if_t< is_duration< ToDur >::value, int > = 0> | |
| constexpr ToDur | neforce::time_cast (const duration< Rep, Period > &value) |
| 持续时间类型转换 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr common_type_t< duration< Rep1, Period1 >, duration< Rep2, Period2 > > | neforce::operator+ (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 加法运算符 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr common_type_t< duration< Rep1, Period1 >, duration< Rep2, Period2 > > | neforce::operator- (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 减法运算符 | |
| template<typename Rep1, typename Period, typename Rep2> | |
| constexpr duration< inner::__common_rep_t< Rep1, Rep2 >, Period > | neforce::operator* (const duration< Rep1, Period > &value, const Rep2 &scalar) |
| 乘法运算符(持续时间 * 标量) | |
| template<typename Rep1, typename Rep2, typename Period> | |
| constexpr duration< inner::__common_rep_t< Rep2, Rep1 >, Period > | neforce::operator* (const Rep1 &scalar, const duration< Rep2, Period > &value) |
| 乘法运算符(标量 * 持续时间) | |
| template<typename Rep1, typename Period, typename Rep2> | |
| constexpr duration< inner::__common_rep_t< Rep1, enable_if_t<!is_duration_v< Rep2 >, Rep2 > >, Period > | neforce::operator/ (const duration< Rep1, Period > &value, const Rep2 &scalar) |
| 除法运算符(持续时间 / 标量) | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr common_type_t< Rep1, Rep2 > | neforce::operator/ (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 除法运算符(持续时间 / 持续时间) | |
| template<typename Rep1, typename Period, typename Rep2> | |
| constexpr duration< inner::__common_rep_t< Rep1, enable_if_t<!is_duration_v< Rep2 >, Rep2 > >, Period > | neforce::operator% (const duration< Rep1, Period > &value, const Rep2 &scalar) |
| 取模运算符(持续时间 % 标量) | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr common_type_t< duration< Rep1, Period1 >, duration< Rep2, Period2 > > | neforce::operator% (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 取模运算符(持续时间 % 持续时间) | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr bool | neforce::operator== (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 等于比较运算符 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr bool | neforce::operator!= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 不等于比较运算符 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr bool | neforce::operator< (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 小于比较运算符 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr bool | neforce::operator<= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 小于等于比较运算符 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr bool | neforce::operator> (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 大于比较运算符 | |
| template<typename Rep1, typename Period1, typename Rep2, typename Period2> | |
| constexpr bool | neforce::operator>= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) |
| 大于等于比较运算符 | |
| template<typename ToDur, typename Rep, typename Period> | |
| constexpr enable_if_t< is_duration_v< ToDur >, ToDur > | neforce::floor (const duration< Rep, Period > &dur) |
| 向下取整持续时间转换 | |
| template<typename ToDur, typename Rep, typename Period> | |
| constexpr enable_if_t< is_duration_v< ToDur >, ToDur > | neforce::ceil (const duration< Rep, Period > &dur) |
| 向上取整持续时间转换 | |
变量 | |
| template<typename T> | |
| constexpr bool | neforce::is_duration_v = is_duration<T>::value |
| is_duration的便捷变量模板 | |
持续时间类型及其辅助函数
|
nodiscardconstexpr |
向上取整持续时间转换
| ToDur | 目标持续时间类型 |
| Rep | 源数值类型 |
| Period | 源时间单位比例 |
| dur | 源持续时间 |
在文件 duration.hpp 第 705 行定义.
引用了 ceil() , 以及 time_cast().
|
nodiscardconstexpr |
向下取整持续时间转换
| ToDur | 目标持续时间类型 |
| Rep | 源数值类型 |
| Period | 源时间单位比例 |
| dur | 源持续时间 |
在文件 duration.hpp 第 688 行定义.
引用了 floor() , 以及 time_cast().
|
constexpr |
不等于比较运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 611 行定义.
引用了 operator!=().
|
constexpr |
取模运算符(持续时间 % 标量)
| Rep1 | 数值类型 |
| Period | 时间单位比例 |
| Rep2 | 标量类型 |
| value | 持续时间 |
| scalar | 标量 |
在文件 duration.hpp 第 558 行定义.
引用了 count() , 以及 operator%().
被这些函数引用 operator%() , 以及 operator%().
|
constexpr |
取模运算符(持续时间 % 持续时间)
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 575 行定义.
引用了 count() , 以及 operator%().
|
constexpr |
乘法运算符(持续时间 * 标量)
| Rep1 | 数值类型 |
| Period | 时间单位比例 |
| Rep2 | 标量类型 |
| value | 持续时间 |
| scalar | 标量 |
在文件 duration.hpp 第 492 行定义.
引用了 count() , 以及 operator*().
被这些函数引用 operator*(), operator*(), operator*() , 以及 operator*().
|
constexpr |
乘法运算符(标量 * 持续时间)
| Rep1 | 标量类型 |
| Rep2 | 数值类型 |
| Period | 时间单位比例 |
| scalar | 标量 |
| value | 持续时间 |
在文件 duration.hpp 第 508 行定义.
引用了 operator*().
|
constexpr |
加法运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 456 行定义.
引用了 count() , 以及 operator+().
|
constexpr |
减法运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 475 行定义.
引用了 count() , 以及 operator-().
|
constexpr |
除法运算符(持续时间 / 标量)
| Rep1 | 数值类型 |
| Period | 时间单位比例 |
| Rep2 | 标量类型 |
| value | 持续时间 |
| scalar | 标量 |
在文件 duration.hpp 第 524 行定义.
引用了 count() , 以及 operator/().
被这些函数引用 operator/() , 以及 operator/().
|
constexpr |
除法运算符(持续时间 / 持续时间)
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 540 行定义.
引用了 operator/().
|
constexpr |
小于比较运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 626 行定义.
|
constexpr |
小于等于比较运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 644 行定义.
|
constexpr |
等于比较运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 593 行定义.
引用了 operator==().
|
constexpr |
大于比较运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 659 行定义.
|
constexpr |
大于等于比较运算符
| Rep1 | 第一个数值类型 |
| Period1 | 第一个时间单位比例 |
| Rep2 | 第二个数值类型 |
| Period2 | 第二个时间单位比例 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 duration.hpp 第 674 行定义.
|
constexpr |
持续时间类型转换
| ToDur | 目标持续时间类型 |
| Rep | 源数值类型 |
| Period | 源时间单位比例 |
| value | 源持续时间 |
将一种持续时间类型转换为另一种,考虑时间单位的转换。
在文件 duration.hpp 第 144 行定义.
引用了 time_cast().
被这些函数引用 ceil(), neforce::duration< Rep, Period >::duration(), neforce::duration< common_type_t< Rep >, typename Period::type >::duration(), floor(), neforce::system_clock::from_seconds(), neforce::idb_connect::get_alive(), neforce::idb_connect::refresh_alive(), time_cast(), time_cast(), neforce::steady_clock::to_system() , 以及 neforce::semaphore::try_acquire_for().