From ac500e238de06294e6f31258396066e61a050b2b Mon Sep 17 00:00:00 2001 From: rbock Date: Sat, 28 Apr 2018 10:15:26 +0200 Subject: [PATCH] Fix triggering static asserts multiple operators --- include/sqlpp11/basic_expression_operators.h | 40 +++++++++---------- include/sqlpp11/consistent.h | 1 - .../data_types/blob/expression_operators.h | 4 +- .../data_types/text/expression_operators.h | 2 +- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/include/sqlpp11/basic_expression_operators.h b/include/sqlpp11/basic_expression_operators.h index f4665b73..c924f964 100644 --- a/include/sqlpp11/basic_expression_operators.h +++ b/include/sqlpp11/basic_expression_operators.h @@ -127,7 +127,7 @@ namespace sqlpp auto operator==(T t) const -> _new_binary_expression_t { using rhs = wrap_operand_t; - check_comparison_t::_(); + check_comparison_t{}; return {*static_cast(this), rhs{t}}; } @@ -136,7 +136,7 @@ namespace sqlpp auto operator!=(T t) const -> _new_binary_expression_t { using rhs = wrap_operand_t; - check_comparison_t::_(); + check_comparison_t{}; return {*static_cast(this), rhs{t}}; } @@ -145,7 +145,7 @@ namespace sqlpp auto operator<(T t) const -> _new_binary_expression_t { using rhs = wrap_operand_t; - check_comparison_t::_(); + check_comparison_t{}; return {*static_cast(this), rhs{t}}; } @@ -154,7 +154,7 @@ namespace sqlpp auto operator<=(T t) const -> _new_binary_expression_t { using rhs = wrap_operand_t; - check_comparison_t::_(); + check_comparison_t{}; return {*static_cast(this), rhs{t}}; } @@ -163,7 +163,7 @@ namespace sqlpp auto operator>(T t) const -> _new_binary_expression_t { using rhs = wrap_operand_t; - check_comparison_t::_(); + check_comparison_t{}; return {*static_cast(this), rhs{t}}; } @@ -172,7 +172,7 @@ namespace sqlpp auto operator>=(T t) const -> _new_binary_expression_t { using rhs = wrap_operand_t; - check_comparison_t::_(); + check_comparison_t{}; return {*static_cast(this), rhs{t}}; } @@ -205,98 +205,98 @@ namespace sqlpp template auto in(T... t) const -> typename _new_nary_expression::type { - check_in_t...>::_(); + check_in_t...>{}; return {*static_cast(this), typename wrap_operand::type{t}...}; } template auto not_in(T... t) const -> typename _new_nary_expression::type { - check_in_t...>::_(); + check_in_t...>{}; return {*static_cast(this), typename wrap_operand::type{t}...}; } template auto operator not() const -> return_type_not_t { - return_type_not::check::_(); + typename return_type_not::check{}; return {*static_cast(this)}; } template auto operator and(const R& r) const -> return_type_and_t { - return_type_and::check::_(); + typename return_type_and::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator&(const R& r) const -> return_type_bitwise_and_t { - return_type_bitwise_and::check::_(); + typename return_type_bitwise_and::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator|(const R& r) const -> return_type_bitwise_or_t { - return_type_bitwise_or::check::_(); + typename return_type_bitwise_or::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator or(const R& r) const -> return_type_or_t { - return_type_or::check::_(); + typename return_type_or::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator+(const R& r) const -> return_type_plus_t { - return_type_plus::check::_(); + typename return_type_plus::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator-(const R& r) const -> return_type_minus_t { - return_type_minus::check::_(); + typename return_type_minus::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator*(const R& r) const -> return_type_multiplies_t { - return_type_multiplies::check::_(); + typename return_type_multiplies::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator/(const R& r) const -> return_type_divides_t { - return_type_divides::check::_(); + typename return_type_divides::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator%(const R& r) const -> return_type_modulus_t { - return_type_modulus::check::_(); + typename return_type_modulus::check{}; return {*static_cast(this), wrap_operand_t{r}}; } template auto operator+() const -> return_type_unary_plus_t { - return_type_unary_plus::check::_(); + typename return_type_unary_plus::check{}; return {*static_cast(this)}; } template auto operator-() const -> return_type_unary_minus_t { - return_type_unary_minus::check::_(); + typename return_type_unary_minus::check{}; return {*static_cast(this)}; } }; diff --git a/include/sqlpp11/consistent.h b/include/sqlpp11/consistent.h index 6dbc8eb9..0b38593c 100644 --- a/include/sqlpp11/consistent.h +++ b/include/sqlpp11/consistent.h @@ -33,7 +33,6 @@ namespace sqlpp { struct consistent_t : std::true_type { - static void _(){}; }; } // namespace sqlpp diff --git a/include/sqlpp11/data_types/blob/expression_operators.h b/include/sqlpp11/data_types/blob/expression_operators.h index 8065ca4e..210c57f6 100644 --- a/include/sqlpp11/data_types/blob/expression_operators.h +++ b/include/sqlpp11/data_types/blob/expression_operators.h @@ -62,9 +62,9 @@ namespace sqlpp template auto like(const R& r) const -> return_type_like_t { - return_type_like::check::_(); + typename return_type_like::check{}; return {*static_cast(this), wrap_operand_t{r}}; } }; -} +} // namespace sqlpp #endif diff --git a/include/sqlpp11/data_types/text/expression_operators.h b/include/sqlpp11/data_types/text/expression_operators.h index ea40f697..440ce546 100644 --- a/include/sqlpp11/data_types/text/expression_operators.h +++ b/include/sqlpp11/data_types/text/expression_operators.h @@ -57,7 +57,7 @@ namespace sqlpp template auto like(const R& r) const -> return_type_like_t { - return_type_like::check::_(); + typename return_type_like::check{}; return {*static_cast(this), wrap_operand_t{r}}; } };