16#ifndef ZYPPNG_META_FUNCTION_TRAITS_H_INCLUDED
17#define ZYPPNG_META_FUNCTION_TRAITS_H_INCLUDED
21#include <zypp-core/zyppng/meta/TypeTraits>
25template<
class F,
class =
void >
28template<
class R,
class...
Args>
33 static constexpr std::size_t arity =
sizeof...(Args);
35 template <std::
size_t N>
38 static_assert(
N >= 0 &&
N < arity,
"error: invalid parameter index.");
39 using type =
typename std::tuple_element<
N,std::tuple<
Args...>>::type;
44template<
class R,
class...
Args>
49template<
class R,
class...
Args>
54template<
class C,
class R,
class...
Args>
59template<
class C,
class R,
class...
Args>
64template<
class C,
class R>
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
decltype(&T::operator()) has_call_operator
typename std::tuple_element< N, std::tuple< Args... > >::type type