summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2018-01-24 21:42:26 +0100
committerlouiz’ <louiz@louiz.org>2018-01-25 01:22:35 +0100
commit33a5f1355d1250bf77184459a8d40a790e42814d (patch)
treebc203d27cc6144904c0ebeedbbc391b9e2cac29f /src
parent23e51e814f330ee06dc4dac29d1b2f328e8238b8 (diff)
downloadbiboumi-33a5f1355d1250bf77184459a8d40a790e42814d.tar.gz
biboumi-33a5f1355d1250bf77184459a8d40a790e42814d.tar.bz2
biboumi-33a5f1355d1250bf77184459a8d40a790e42814d.tar.xz
biboumi-33a5f1355d1250bf77184459a8d40a790e42814d.zip
Remove a variable template usage
Because it’s only supported in gcc>=5.0
Diffstat (limited to 'src')
-rw-r--r--src/database/row.hpp4
-rw-r--r--src/utils/is_one_of.hpp9
2 files changed, 5 insertions, 8 deletions
diff --git a/src/database/row.hpp b/src/database/row.hpp
index 1b50ff9..2d55897 100644
--- a/src/database/row.hpp
+++ b/src/database/row.hpp
@@ -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)
diff --git a/src/utils/is_one_of.hpp b/src/utils/is_one_of.hpp
index 4d6770e..c706421 100644
--- a/src/utils/is_one_of.hpp
+++ b/src/utils/is_one_of.hpp
@@ -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;