diff options
Diffstat (limited to 'include/SSVOpenHexagon/Utils/ArgExtractor.hpp')
-rw-r--r-- | include/SSVOpenHexagon/Utils/ArgExtractor.hpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/include/SSVOpenHexagon/Utils/ArgExtractor.hpp b/include/SSVOpenHexagon/Utils/ArgExtractor.hpp index 43257d1e..d28d7c88 100644 --- a/include/SSVOpenHexagon/Utils/ArgExtractor.hpp +++ b/include/SSVOpenHexagon/Utils/ArgExtractor.hpp @@ -18,22 +18,19 @@ struct ArgExtractor<R (F::*)(Args...)> using Return = R; using Function = F; - inline static constexpr std::size_t numArgs = sizeof...(Args); + enum + { + numArgs = sizeof...(Args) + }; template <std::size_t I> using NthArg = std::tuple_element_t<I, std::tuple<Args...>>; }; template <typename R, typename F, typename... Args> -struct ArgExtractor<R (F::*)(Args...) const> +struct ArgExtractor<R (F::*)(Args...) const> : ArgExtractor<R (F::*)(Args...)> { - using Return = R; - using Function = F; - - inline static constexpr std::size_t numArgs = sizeof...(Args); - - template <std::size_t I> - using NthArg = std::tuple_element_t<I, std::tuple<Args...>>; + using ArgExtractor<R (F::*)(Args...)>::NthArg; }; } // namespace hg::Utils |