From d0e3c71b91f1a1c1780158789fd42b8ac7209495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sat, 17 Mar 2018 17:28:41 +0100 Subject: Revert "Use if constexpr to make things a lot more readable" This reverts commit d62ca9f87906be6f046fe9d07afb8bfb69c166e3. --- src/database/table.hpp | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'src/database/table.hpp') diff --git a/src/database/table.hpp b/src/database/table.hpp index eb68418..680e7cc 100644 --- a/src/database/table.hpp +++ b/src/database/table.hpp @@ -93,32 +93,36 @@ class Table private: template - void add_column_if_not_exists(DatabaseEngine& db, const std::set& existing_columns) + typename std::enable_if::type + add_column_if_not_exists(DatabaseEngine& db, const std::set& existing_columns) { - if constexpr(N < sizeof...(T)) - { - using ColumnType = typename std::remove_reference(std::declval()))>::type; - if (existing_columns.count(ColumnType::name) == 0) - add_column_to_table(db, this->name); - add_column_if_not_exists(db, existing_columns); - } + using ColumnType = typename std::remove_reference(std::declval()))>::type; + if (existing_columns.count(ColumnType::name) == 0) + add_column_to_table(db, this->name); + add_column_if_not_exists(db, existing_columns); } + template + typename std::enable_if::type + add_column_if_not_exists(DatabaseEngine&, const std::set&) + {} template - void add_column_create(DatabaseEngine& db, std::string& str) + typename std::enable_if::type + add_column_create(DatabaseEngine& db, std::string& str) { - if constexpr(N < sizeof...(T)) - { - using ColumnType = typename std::remove_reference(std::declval()))>::type; - str += ColumnType::name; - str += " "; - str += ToSQLType(db); - if (N != sizeof...(T) - 1) - str += ","; - - add_column_create(db, str); - } + using ColumnType = typename std::remove_reference(std::declval()))>::type; + str += ColumnType::name; + str += " "; + str += ToSQLType(db); + if (N != sizeof...(T) - 1) + str += ","; + + add_column_create(db, str); } + template + typename std::enable_if::type + add_column_create(DatabaseEngine&, std::string&) + { } const std::string name; }; -- cgit v1.2.3