C++ Essence Library 0.1.0
A Utility Library for Modern C++ Programming
Loading...
Searching...
No Matches
essence::similar_rational Concept Reference

Checks if an object is similar to essence::rational. More...

#include <rational.hpp>

Concept definition

template<typename T>
concept essence::similar_rational = requires(std::int64_t a, std::int64_t b) {
T{a, b};
{
[](T inner) {
auto&& [x, y] = inner;
constexpr std::size_t type_1 = std::same_as<std::decay_t<decltype(x)>, std::int64_t> ? 1U : 0U;
constexpr std::size_t type_2 = std::same_as<std::decay_t<decltype(y)>, std::int64_t> ? 1U : 0U;
return std::integral_constant<std::size_t, type_1 + type_2>{};
}(T{})
} -> std::same_as<std::integral_constant<std::size_t, 2U>>;
}
Checks if an object is similar to essence::rational.
Definition rational.hpp:37

Detailed Description

Checks if an object is similar to essence::rational.