Commit 7e4ba3cb authored by Max Kellermann's avatar Max Kellermann Committed by Max Kellermann

util/BindMethod: add MethodSignatureHelper::function_pointer

parent 172c4d9c
...@@ -119,6 +119,9 @@ struct MethodSignatureHelper<R (T::*)(Args...) noexcept(NoExcept)> { ...@@ -119,6 +119,9 @@ struct MethodSignatureHelper<R (T::*)(Args...) noexcept(NoExcept)> {
* signature. * signature.
*/ */
typedef R plain_signature(Args...) noexcept(NoExcept); typedef R plain_signature(Args...) noexcept(NoExcept);
typedef R (*function_pointer)(void *instance,
Args...) noexcept(NoExcept);
}; };
/** /**
...@@ -152,7 +155,7 @@ struct BindMethodWrapperGenerator<R (T::*)(Args...) noexcept(NoExcept), method> ...@@ -152,7 +155,7 @@ struct BindMethodWrapperGenerator<R (T::*)(Args...) noexcept(NoExcept), method>
}; };
template<auto method> template<auto method>
typename MethodWrapperWithSignature<typename MethodSignatureHelper<decltype(method)>::plain_signature>::function_pointer typename MethodSignatureHelper<decltype(method)>::function_pointer
MakeBindMethodWrapper() noexcept MakeBindMethodWrapper() noexcept
{ {
return BindMethodWrapperGenerator<decltype(method), method>::Invoke; return BindMethodWrapperGenerator<decltype(method), method>::Invoke;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment