Merge tag '7.2'

This commit is contained in:
louiz’
2018-01-25 02:10:17 +01:00
5 changed files with 21 additions and 15 deletions
+2 -2
View File
@@ -30,13 +30,13 @@ struct Row
}
template <bool Coucou=true>
void save(std::unique_ptr<DatabaseEngine>& db, typename std::enable_if<!is_one_of<Id, T...> && Coucou>::type* = nullptr)
void save(std::unique_ptr<DatabaseEngine>& db, typename std::enable_if<!is_one_of<Id, T...>::value && Coucou>::type* = nullptr)
{
this->insert(*db);
}
template <bool Coucou=true>
void save(std::unique_ptr<DatabaseEngine>& db, typename std::enable_if<is_one_of<Id, T...> && Coucou>::type* = nullptr)
void save(std::unique_ptr<DatabaseEngine>& db, typename std::enable_if<is_one_of<Id, T...>::value && Coucou>::type* = nullptr)
{
const Id& id = std::get<Id>(this->columns);
if (id.value == Id::unset_value)
+3 -6
View File
@@ -3,15 +3,12 @@
#include <type_traits>
template <typename...>
struct is_one_of_implem {
struct is_one_of {
static constexpr bool value = false;
};
template <typename F, typename S, typename... T>
struct is_one_of_implem<F, S, T...> {
struct is_one_of<F, S, T...> {
static constexpr bool value =
std::is_same<F, S>::value || is_one_of_implem<F, T...>::value;
std::is_same<F, S>::value || is_one_of<F, T...>::value;
};
template<typename... T>
constexpr bool is_one_of = is_one_of_implem<T...>::value;