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

MSTL持续时间类型 更多...

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

浏览该文件的源代码.

struct  is_duration< T >
 检查是否为持续时间类型 更多...
class  duration< Rep, Period >
 持续时间类模板 更多...

命名空间

namespace  literals
 MSTL自定义字面量命名空间

类型定义

using nanoseconds = duration<int64_t, nano>
 纳秒持续时间
using microseconds = duration<int64_t, micro>
 微秒持续时间
using milliseconds = duration<int64_t, milli>
 毫秒持续时间
using seconds = duration<int64_t>
 秒持续时间
using minutes = duration<int64_t, ratio<60>>
 分钟持续时间
using hours = duration<int64_t, ratio<3600>>
 小时持续时间
using days = duration<int64_t, ratio<86400>>
 天持续时间
using weeks = duration<int64_t, ratio<604800>>
 周持续时间
using years = duration<int64_t, ratio<31556952>>
 年持续时间(天文年)
using months = duration<int64_t, ratio<2629746>>
 月持续时间(平均月)

函数

template<typename ToDur, typename Rep, typename Period, enable_if_t< is_duration< ToDur >::value, int > = 0>
constexpr ToDur 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 > > 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 > > 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 > 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 > 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 > operator/ (const duration< Rep1, Period > &value, const Rep2 &scalar)
 除法运算符(持续时间 / 标量)
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr common_type_t< Rep1, Rep2 > 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 > 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 > > operator% (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 取模运算符(持续时间 % 持续时间)
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr bool operator== (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 等于比较运算符
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr bool operator!= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 不等于比较运算符
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr bool operator< (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 小于比较运算符
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr bool operator<= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 小于等于比较运算符
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr bool operator> (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 大于比较运算符
template<typename Rep1, typename Period1, typename Rep2, typename Period2>
constexpr bool operator>= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 大于等于比较运算符
template<typename ToDur, typename Rep, typename Period>
MSTL_NODISCARD constexpr enable_if_t< is_duration_v< ToDur >, ToDur > floor (const duration< Rep, Period > &dur)
 向下取整持续时间转换
template<typename ToDur, typename Rep, typename Period>
MSTL_NODISCARD constexpr enable_if_t< is_duration_v< ToDur >, ToDur > ceil (const duration< Rep, Period > &dur)
 向上取整持续时间转换
constexpr duration< decimal_t, ratio< 3600, 1 > > operator""_h (const decimal_t hours) noexcept
 小时字面量(浮点版本)
template<char... Digits>
constexpr hours operator""_h () noexcept
 小时字面量(整型版本)
constexpr duration< decimal_t, ratio< 60, 1 > > operator""_min (const decimal_t mins) noexcept
 分钟字面量(浮点版本)
template<char... Digits>
constexpr minutes operator""_min () noexcept
 分钟字面量(整型版本)
constexpr duration< decimal_toperator""_s (const decimal_t secs) noexcept
 秒字面量(浮点版本)
template<char... Digits>
constexpr seconds operator""_s () noexcept
 秒字面量(整型版本)
constexpr duration< decimal_t, millioperator""_ms (const decimal_t msecs) noexcept
 毫秒字面量(浮点版本)
template<char... Digits>
constexpr milliseconds operator""_ms () noexcept
 毫秒字面量(整型版本)
constexpr duration< decimal_t, microoperator""_us (const decimal_t usecs) noexcept
 微秒字面量(浮点版本)
template<char... Digits>
constexpr microseconds operator""_us () noexcept
 微秒字面量(整型版本)
constexpr duration< decimal_t, nanooperator""_ns (const decimal_t nsecs) noexcept
 纳秒字面量(浮点版本)
template<char... Digits>
constexpr nanoseconds operator""_ns () noexcept
 纳秒字面量(整型版本)
template<typename Rep, typename Period>
void sleep_for (const duration< Rep, Period > time)
 使当前线程睡眠指定时间

变量

template<typename T>
MSTL_INLINE17 constexpr bool is_duration_v = is_duration<T>::value
 is_duration的便捷变量模板

详细描述

MSTL持续时间类型

此文件提供了持续时间类型及相关操作,支持不同时间单位的表示和转换。

在文件 duration.hpp 中定义.