mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-16 12:51:13 +08:00
Fix variadic template pack expansion failure with VS2017 RC
This commit is contained in:
parent
4d22202fe5
commit
306969488b
@ -237,7 +237,7 @@ namespace sqlpp
|
|||||||
// template <typename... T>
|
// template <typename... T>
|
||||||
// using _check = logic::all_t<is_expression_t<T>::value...>;
|
// using _check = logic::all_t<is_expression_t<T>::value...>;
|
||||||
template <typename... T>
|
template <typename... T>
|
||||||
struct _check : logic::all_t<is_expression_t<T>::value...>
|
struct _check : logic::all_t<is_expression_t<T>::value...>...
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -121,8 +121,12 @@ namespace sqlpp
|
|||||||
_required_ctes::size::value == 0;
|
_required_ctes::size::value == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// work around for msvc bug:
|
||||||
|
// error C3520 : 'Policies' : parameter pack must be expanded in this context
|
||||||
|
using is_missing_policies_t_1 = logic::logic_helper<is_missing_t<Policies>::value...>;
|
||||||
|
using is_missing_policies_t_2 = logic::logic_helper<(is_missing_t<Policies>::value && false)...>;
|
||||||
using _value_type =
|
using _value_type =
|
||||||
typename std::conditional<logic::none_t<is_missing_t<Policies>::value...>::value,
|
typename std::conditional<std::is_same<is_missing_policies_t_1, is_missing_policies_t_2>::value,
|
||||||
value_type_of<_result_type_provider>,
|
value_type_of<_result_type_provider>,
|
||||||
no_value_t // if a required statement part is missing (e.g. columns in a select),
|
no_value_t // if a required statement part is missing (e.g. columns in a select),
|
||||||
// then the statement cannot be used as a value
|
// then the statement cannot be used as a value
|
||||||
|
Loading…
Reference in New Issue
Block a user