From e267512ad40c073bd5a5b37a4ee3378c80b9f523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Thu, 25 Jan 2018 02:17:20 +0100 Subject: Restore the is_one_of variable template --- src/database/row.hpp | 4 ++-- src/utils/is_one_of.hpp | 9 ++++++--- tests/utils.cpp | 14 +++++++------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/database/row.hpp b/src/database/row.hpp index 2d55897..130863a 100644 --- a/src/database/row.hpp +++ b/src/database/row.hpp @@ -30,13 +30,13 @@ struct Row } template - void save(std::unique_ptr& db, typename std::enable_if::value && Coucou>::type* = nullptr) + void save(std::unique_ptr& db, typename std::enable_if && Coucou>::type* = nullptr) { this->insert(*db); } template - void save(std::unique_ptr& db, typename std::enable_if::value && Coucou>::type* = nullptr) + void save(std::unique_ptr& db, typename std::enable_if && Coucou>::type* = nullptr) { const Id& id = std::get(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 c706421..4d6770e 100644 --- a/src/utils/is_one_of.hpp +++ b/src/utils/is_one_of.hpp @@ -3,12 +3,15 @@ #include template -struct is_one_of { +struct is_one_of_implem { static constexpr bool value = false; }; template -struct is_one_of { +struct is_one_of_implem { static constexpr bool value = - std::is_same::value || is_one_of::value; + std::is_same::value || is_one_of_implem::value; }; + +template +constexpr bool is_one_of = is_one_of_implem::value; diff --git a/tests/utils.cpp b/tests/utils.cpp index 99c7040..6de19f0 100644 --- a/tests/utils.cpp +++ b/tests/utils.cpp @@ -175,11 +175,11 @@ TEST_CASE("dirname") TEST_CASE("is_in") { - CHECK((is_one_of::value) == true); - CHECK((is_one_of::value) == false); - CHECK((is_one_of::value) == false); - CHECK((is_one_of::value) == true); - CHECK((is_one_of::value) == false); - CHECK((is_one_of::value) == true); - CHECK((is_one_of::value) == true); + CHECK((is_one_of) == true); + CHECK((is_one_of) == false); + CHECK((is_one_of) == false); + CHECK((is_one_of) == true); + CHECK((is_one_of) == false); + CHECK((is_one_of) == true); + CHECK((is_one_of) == true); } -- cgit v1.2.3