...
This commit is contained in:
@@ -42,8 +42,8 @@ concept adc_input_char_range = std::ranges::input_range<R>;
|
||||
|
||||
|
||||
// deduce returned type of callable
|
||||
template <typename T>
|
||||
using adc_retval_t = std::invoke_result_t<std::remove_cvref_t<T>>;
|
||||
// template <typename T>
|
||||
// using adc_retval_t = std::invoke_result_t<std::remove_cvref_t<T>>;
|
||||
|
||||
|
||||
// helper classes
|
||||
@@ -87,10 +87,16 @@ 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(&F::operator())> {
|
||||
struct adc_func_traits : adc_func_traits<decltype(&std::remove_reference_t<F>::operator())> {
|
||||
};
|
||||
|
||||
|
||||
template <typename T>
|
||||
using adc_retval_t = typename adc_func_traits<T>::ret_t;
|
||||
|
||||
template <typename T>
|
||||
using adc_func_arg1_t = typename adc_func_traits<T>::arg1_t;
|
||||
|
||||
// deduce type
|
||||
template <typename T>
|
||||
using adc_deduced_type =
|
||||
|
||||
Reference in New Issue
Block a user