7 #if !defined(CNL_IMPL_WIDE_INTEGER_GENERIC_H)
8 #define CNL_IMPL_WIDE_INTEGER_GENERIC_H
10 #include "../custom_operator/definition.h"
11 #include "../num_traits/to_rep.h"
12 #include "definition.h"
14 #include <type_traits>
19 _impl::comparison_op Operator,
int LhsDigits,
typename LhsNarrowest,
int RhsDigits,
20 typename RhsNarrowest>
21 requires(!std::is_same_v<
22 wide_integer<LhsDigits, LhsNarrowest>,
23 wide_integer<RhsDigits, RhsNarrowest>>) struct
28 [[nodiscard]] constexpr
auto operator()(
29 wide_integer<LhsDigits, LhsNarrowest>
const& lhs,
30 wide_integer<RhsDigits, RhsNarrowest>
const& rhs)
const
32 return Operator()(_impl::to_rep(lhs), _impl::to_rep(rhs));
37 #endif // CNL_IMPL_WIDE_INTEGER_GENERIC_H