Make member function const

This commit is contained in:
LoveSy 2024-08-06 10:26:51 +08:00
parent 14b753e1dc
commit 68f8a63e8f
No known key found for this signature in database

View File

@ -49,7 +49,7 @@ template <typename Class, typename Return, typename T, typename... Args>
requires(std::is_same_v<T, void> || std::is_same_v<Class, T>) requires(std::is_same_v<T, void> || std::is_same_v<Class, T>)
inline auto memfun_cast(Return (*func)(T *, Args...)) { inline auto memfun_cast(Return (*func)(T *, Args...)) {
union { union {
Return (Class::*f)(Args...); Return (Class::*f)(Args...) const;
struct { struct {
decltype(func) p; decltype(func) p;
@ -145,7 +145,7 @@ struct MemberFunction<Sym, This, Ret(Args...)> {
private: private:
friend struct HookHandler; friend struct HookHandler;
using ThisType = std::conditional_t<std::is_same_v<This, void>, MemberFunction, This>; using ThisType = std::conditional_t<std::is_same_v<This, void>, MemberFunction, This>;
Ret (ThisType::*function_)(Args...) = nullptr; Ret (ThisType::*function_)(Args...) const = nullptr;
}; };
template <FixedString Sym, typename Ret, typename... Args> template <FixedString Sym, typename Ret, typename... Args>