std::chrono::floor(std::chrono::duration)
定义于头文件 <chrono>
|
||
template <class ToDuration, class Rep, class Period> constexpr ToDuration floor(const duration<Rep, Period>& d); |
(C++17 起) | |
返回可表示为 ToDuration
的小于或等于 d
的最大时期 t
。
函数不参与重载决议,除非 ToDuration
是 std::chrono::duration 的实例。
参数
d | - | 要转换的时期 |
返回值
向下取整到 ToDuration
类型时期的 d
。
可能的实现
template <class T> struct is_duration : std::false_type {}; template <class Rep, class Period> struct is_duration< std::chrono::duration<Rep, Period>> : std::true_type {}; template <class To, class Rep, class Period, class = std::enable_if_t<is_duration<To>{}>> constexpr To floor(const duration<Rep, Period>& d) { To t = std::chrono::duration_cast<To>(d); if (t > d) return t - To{1}; return t; } |
示例
本节未完成 原因:暂无示例 |
参阅
转换时长到另一个拥有不同嘀嗒间隔的时长 (函数模板) | |
(C++17) |
以向上取整的方式,将一个时长转换为另一个时长 (函数模板) |
(C++17) |
转换时长到另一个时长,就近取整,偶数优先 (函数模板) |
转换 time_point 到另一个,向下取整 (函数模板) | |
(C++11)(C++11) |
不大于给定值的最接近整数 (函数) |