Core/Misc: C++17 cleanups, commit 1

This commit is contained in:
Treeston
2020-03-19 17:01:35 +01:00
parent 7ac6ccb36b
commit ac9004a2f9

View File

@@ -45,20 +45,7 @@ struct CommandArgsConsumerSingle
struct CommandArgsVariantConsumer
{
template <typename V, typename T1, typename T2, typename... Ts>
static char const* TryConsumeTo(V& val, char const* args)
{
T1 v;
if (char const* next = CommandArgsConsumerSingle<T1>::TryConsumeTo(v, args))
{
val = std::move(v);
return next;
}
else
return TryConsumeTo<V, T2, Ts...>(val, args);
}
template <typename V, typename T1>
template <typename V, typename T1, typename... Ts>
static char const* TryConsumeTo(V& val, char const* args)
{
T1 v;
@@ -67,6 +54,8 @@ struct CommandArgsVariantConsumer
val = std::move(v);
return next;
}
else if constexpr (sizeof...(Ts) > 0)
return TryConsumeTo<V, Ts...>(val, args);
else
return nullptr;
}