diff --git a/include/sqlpp11/basic_expression_operators.h b/include/sqlpp11/basic_expression_operators.h index fbf9a490..462ad6a7 100644 --- a/include/sqlpp11/basic_expression_operators.h +++ b/include/sqlpp11/basic_expression_operators.h @@ -46,67 +46,70 @@ namespace sqlpp SQLPP_PORTABLE_STATIC_ASSERT(assert_comparison_lhs_rhs_differ_t, "identical lhs and rhs operands in comparison"); template - using check_comparison_t = static_combined_check_t< - static_check_t>::value, - is_multi_expression_t>::value>::value, + using check_comparison_impl = static_combined_check_t< + static_check_t::value, is_multi_expression_t::value>::value, assert_comparison_rhs_is_expression_t>, - static_check_t::template _is_valid_operand>::value, + static_check_t::template _is_valid_operand::value, assert_comparison_rhs_is_valid_operand_t>, static_check_t::value, assert_comparison_lhs_rhs_differ_t>>; + template + using check_comparison_t = check_comparison_impl>; + template - using check_in_t = static_combined_check_t< - static_check_t>::value...>::value, - assert_comparison_rhs_is_expression_t>, - static_check_t::template _is_valid_operand< - sqlpp::wrap_operand_t>::value...>::value, + using check_in_impl = static_combined_check_t< + static_check_t::value...>::value, assert_comparison_rhs_is_expression_t>, + static_check_t::template _is_valid_operand::value...>::value, assert_comparison_rhs_is_valid_operand_t>, static_check_t::value...>::value, assert_comparison_lhs_rhs_differ_t>>; + template + using check_in_t = check_in_impl...>; + namespace detail { template class Expr, typename Lhs, typename Rhs> - struct new_binary_expression_impl + struct comparison_expression_impl { using type = bad_expression; }; template