...
This commit is contained in:
@@ -67,7 +67,7 @@ struct adc_func_traits_helper_t<R, Arg, Args...> {
|
||||
|
||||
// callable traits
|
||||
|
||||
template <typename F>
|
||||
template <typename F, typename = void>
|
||||
struct adc_func_traits;
|
||||
|
||||
template <typename R, typename... Args>
|
||||
@@ -87,9 +87,17 @@ struct adc_func_traits<R (C::*)(Args...) const> : adc_func_traits_helper_t<R, Ar
|
||||
};
|
||||
|
||||
template <typename F>
|
||||
struct adc_func_traits : adc_func_traits<decltype(&std::remove_reference_t<F>::operator())> {
|
||||
// struct adc_func_traits : adc_func_traits<decltype(&std::remove_reference_t<F>::operator())> {
|
||||
struct adc_func_traits<F, std::enable_if_t<std::is_class_v<F>>> : adc_func_traits<decltype(&F::operator())> {
|
||||
};
|
||||
|
||||
template <typename F>
|
||||
struct adc_func_traits<F&> : adc_func_traits<F> {
|
||||
};
|
||||
|
||||
template <typename F>
|
||||
struct adc_func_traits<F&&> : adc_func_traits<F> {
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
using adc_retval_t = typename adc_func_traits<T>::ret_t;
|
||||
|
||||
Reference in New Issue
Block a user