summaryrefslogtreecommitdiff
path: root/src/database/index.hpp
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2018-03-16 01:11:47 +0100
committerlouiz’ <louiz@louiz.org>2018-03-16 01:13:50 +0100
commitd62ca9f87906be6f046fe9d07afb8bfb69c166e3 (patch)
tree6d2f5f9d60f938b05ddf47bb6b56e51bcd42472f /src/database/index.hpp
parentba879a882e031d7b8503f78fe41d1210000c96ca (diff)
downloadbiboumi-d62ca9f87906be6f046fe9d07afb8bfb69c166e3.tar.gz
biboumi-d62ca9f87906be6f046fe9d07afb8bfb69c166e3.tar.bz2
biboumi-d62ca9f87906be6f046fe9d07afb8bfb69c166e3.tar.xz
biboumi-d62ca9f87906be6f046fe9d07afb8bfb69c166e3.zip
Use if constexpr to make things a lot more readable
Diffstat (limited to 'src/database/index.hpp')
-rw-r--r--src/database/index.hpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/database/index.hpp b/src/database/index.hpp
index 30766ab..094a36a 100644
--- a/src/database/index.hpp
+++ b/src/database/index.hpp
@@ -8,19 +8,16 @@
namespace
{
template <std::size_t N=0, typename... T>
-typename std::enable_if<N == sizeof...(T), void>::type
-add_column_name(std::string&)
-{ }
-
-template <std::size_t N=0, typename... T>
-typename std::enable_if<N < sizeof...(T), void>::type
-add_column_name(std::string& out)
+void add_column_name(std::string& out)
{
- using ColumnType = typename std::remove_reference<decltype(std::get<N>(std::declval<std::tuple<T...>>()))>::type;
- out += ColumnType::name;
- if (N != sizeof...(T) - 1)
- out += ",";
- add_column_name<N+1, T...>(out);
+ if constexpr(N < sizeof...(T))
+ {
+ using ColumnType = typename std::remove_reference<decltype(std::get<N>(std::declval<std::tuple<T...>>()))>::type;
+ out += ColumnType::name;
+ if (N != sizeof...(T) - 1)
+ out += ",";
+ add_column_name<N + 1, T...>(out);
+ }
}
}