std::ratio_equal
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <ratio>
|
||
template< class R1, class R2 > struct ratio_equal : std::integral_constant; |
||
Если отношения R1 и R2 равны, обеспечивает постоянный член
value равных true. В противном случае, value является false.Оригинал:
If the ratios R1 and R2 are equal, provides the member constant
value equal true. Otherwise, value is false.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Унаследован от std::integral_constant
Константы элементы
value [static] |
true, если R1::num == R2::num && R1::den == R2::den , false иначе (public static константа-элемент) |
Функции-элементы
operator bool |
преобразует объект в bool, возвращает value (public функция-элемент) |
operator() (C++14) |
возвращает value (public функция-элемент) |
Типы элементы
| Тип | Определение |
value_type
|
bool
|
type
|
std::integral_constant<bool, value>
|
Возможная реализация
template< class R1, class R2 >
struct ratio_equal : public std::integral_constant <
bool,
R1::num == R2::num && R1::den == R2::den
> {};
|
Пример
Запустить этот код
#include <iostream>
#include <ratio>
int main()
{
if(std::ratio_equal<std::ratio<2,3>, std::ratio<4,6>>::value) {
std::cout << "2/3 == 4/6\n";
} else {
std::cout << "2/3 != 4/6\n";
}
}
Вывод:
2/3 == 4/6