summaryrefslogtreecommitdiff
path: root/include/SSVOpenHexagon/Utils/ArgExtractor.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/SSVOpenHexagon/Utils/ArgExtractor.hpp')
-rw-r--r--include/SSVOpenHexagon/Utils/ArgExtractor.hpp15
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