std::ratio_greater_equal
来自 cppreference.cn
定义于头文件 <ratio> |
||
template< class R1, class R2 > struct ratio_greater_equal : std::integral_constant<bool, /* 参见下方 */> { }; |
(C++11 起) | |
如果比值 R1
大于或等于比值 R2
,则提供成员常量 value 等于 true。否则,value 为 false。
目录 |
[edit] 辅助变量模板
template< class R1, class R2 > constexpr bool ratio_greater_equal_v = ratio_greater_equal<R1, R2>::value; |
(C++17 起) | |
继承自 std::integral_constant
成员常量
value [静态] |
true 如果 R1::num * R2::den >= R2::num * R1::den,或等效的避免溢出的表达式,否则为 false (public static 成员常量) |
成员函数
operator bool |
将对象转换为 bool,返回 value (公开成员函数) |
operator() (C++14) |
返回 value (公开成员函数) |
成员类型
类型 | 定义 |
value_type
|
bool |
类型
|
std::integral_constant<bool, value> |
[edit] 示例
运行此代码
#include <ratio> int main() { static_assert(std::ratio_greater_equal< std::ratio<2, 3>, std::ratio<2, 3>>::value, "2/3 >= 2/3"); // since C++17 static_assert(std::ratio_greater_equal_v< std::ratio<999'998, 999'999>, std::ratio<999'997, 999'998>>); }
[edit] 参阅
(C++11) |
在编译时比较两个 ratio 对象是否相等(类模板) |
(C++11) |
在编译时比较两个 ratio 对象是否“小于”(类模板) |