Namespaces
Variants
Actions

std::ratio_greater_equal

From cppreference.com
< cpp‎ | numeric‎ | ratio
 
 
Metaprogramming library
Type traits
Type categories
(C++11)
(C++11)(DR*)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11) 
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)  
Type properties
(C++11)
(C++11)
(C++11)
(C++14)
(C++11)
(C++17)
(C++11)(deprecated in C++26)
(C++11)(until C++20*)
(C++11)(deprecated in C++20)
(C++11)
(C++11)
Type trait constants
Metafunctions
(C++17)
(C++17)
(C++17)
Supported operations
Relationships and property queries
Type modifications
Type transformations
(C++11)(deprecated in C++23)
(C++11)(deprecated in C++23)
(C++11)
(C++20)
(C++11)(until C++20*)(C++17)

(C++11)
(C++11)
(C++11)
(C++17)
Compile-time integer sequences
 
Compile time rational arithmetic
(C++11)
Arithmetic
(C++11)
(C++11)
Comparison
(C++11)
(C++11)
ratio_greater_equal
(C++11)
 
Defined in header <ratio>
template< class R1, class R2 >
struct ratio_greater_equal : std::integral_constant <bool, /* see below */> { };
(since C++11)

If the ratio R1 is greater than or equal to the ratio R2, provides the member constant value equal true. Otherwise, value is false.

[edit] Helper variable template

template< class R1, class R2 >
constexpr bool ratio_greater_equal_v = ratio_greater_equal<R1, R2>::value;
(since C++17)

Inherited from std::integral_constant

Member constants

value
[static]
true if R1::num * R2::den >= R2::num * R1::den, or equivalent expression that avoids overflow, false otherwise
(public static member constant)

Member functions

operator bool
converts the object to bool, returns value
(public member function)
operator()
(C++14)
returns value
(public member function)

Member types

Type Definition
value_type bool
type std::integral_constant <bool, value>

[edit] Example

Run this code
#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] See also

(C++11)
compares two ratio objects for equality at compile-time
(class template) [edit]
(C++11)
compares two ratio objects for less than at compile-time
(class template) [edit]
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/ratio/ratio_greater_equal&oldid=176486"

AltStyle によって変換されたページ (->オリジナル) /