namespace std {
template <class R1, class R2>
struct ratio_not_equal;
template <class R1, class R2>
inline constexpr bool ratio_not_equal_v
= ratio_not_equal<R1, R2>::value; // C++17
}
概要
ratio_not_equal
は、2つのratio
が等値でないかを判定するクラステンプレートである。
効果
ratio_not_equal
は、ratio_equal<R1, R2>::value == false
であればtrue_type
から派生し、そうでなければfalse_type
から派生する。
例
#include <ratio>
int main()
{
using r1 = std::ratio<2, 5>;
using r2 = std::ratio<3, 5>;
static_assert(std::ratio_not_equal<r1, r2>::value == true, "r1 != r2");
}
xxxxxxxxxx
#include <ratio>
int main()
{
using r1 = std::ratio<2, 5>;
using r2 = std::ratio<3, 5>;
static_assert(std::ratio_not_equal<r1, r2>::value == true, "r1 != r2");
}
出力
バージョン
言語
- C++11
処理系
- Clang: 3.0 ✅
- GCC: 4.4.7 ✅
- Visual C++: ??