Fix detection of mutable function pointers

This commit is contained in:
Naios 2015-06-16 20:01:44 +02:00
parent f0f1d3fc92
commit 836facdcdf

View File

@ -64,16 +64,26 @@ namespace fu
struct unwrap_function_impl<std::tuple<_RTy, _ATy...>>
: unwrap_function_impl<_RTy(_ATy...)> { };
/// Function pointers
/// Const function pointers
template<typename _RTy, typename... _ATy>
struct unwrap_function_impl<_RTy(*const)(_ATy...)>
: unwrap_function_impl<_RTy(_ATy...)> { };
/// Class Method pointers
/// Mutable function pointers
template<typename _RTy, typename... _ATy>
struct unwrap_function_impl<_RTy(*)(_ATy...)>
: unwrap_function_impl<_RTy(_ATy...)> { };
/// Const class method pointers
template<typename _CTy, typename _RTy, typename... _ATy>
struct unwrap_function_impl<_RTy(_CTy::*)(_ATy...) const>
: unwrap_function_impl<_RTy(_ATy...)> { };
/// Mutable class method pointers
template<typename _CTy, typename _RTy, typename... _ATy>
struct unwrap_function_impl<_RTy(_CTy::*)(_ATy...)>
: unwrap_function_impl<_RTy(_ATy...)> { };
/// Pack in fu::identity
template<typename _RTy, typename... _ATy>
struct unwrap_function_impl<identity<_RTy, _ATy...>>