|
@@ -48,8 +48,8 @@ template<typename Type, typename Ret, typename Class, typename... Args>
|
|
|
struct meta_function_descriptor<Type, Ret (Class::*)(Args...) const>
|
|
struct meta_function_descriptor<Type, Ret (Class::*)(Args...) const>
|
|
|
: meta_function_descriptor_traits<
|
|
: meta_function_descriptor_traits<
|
|
|
Ret,
|
|
Ret,
|
|
|
- stl::conditional_t<std::is_base_of_v<Class, Type>, type_list<Args...>, type_list<const Class &, Args...>>,
|
|
|
|
|
- !std::is_base_of_v<Class, Type>,
|
|
|
|
|
|
|
+ stl::conditional_t<stl::is_base_of_v<Class, Type>, type_list<Args...>, type_list<const Class &, Args...>>,
|
|
|
|
|
+ !stl::is_base_of_v<Class, Type>,
|
|
|
true> {};
|
|
true> {};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -63,8 +63,8 @@ template<typename Type, typename Ret, typename Class, typename... Args>
|
|
|
struct meta_function_descriptor<Type, Ret (Class::*)(Args...)>
|
|
struct meta_function_descriptor<Type, Ret (Class::*)(Args...)>
|
|
|
: meta_function_descriptor_traits<
|
|
: meta_function_descriptor_traits<
|
|
|
Ret,
|
|
Ret,
|
|
|
- stl::conditional_t<std::is_base_of_v<Class, Type>, type_list<Args...>, type_list<Class &, Args...>>,
|
|
|
|
|
- !std::is_base_of_v<Class, Type>,
|
|
|
|
|
|
|
+ stl::conditional_t<stl::is_base_of_v<Class, Type>, type_list<Args...>, type_list<Class &, Args...>>,
|
|
|
|
|
+ !stl::is_base_of_v<Class, Type>,
|
|
|
false> {};
|
|
false> {};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -77,8 +77,8 @@ template<typename Type, typename Ret, typename Class>
|
|
|
struct meta_function_descriptor<Type, Ret Class::*>
|
|
struct meta_function_descriptor<Type, Ret Class::*>
|
|
|
: meta_function_descriptor_traits<
|
|
: meta_function_descriptor_traits<
|
|
|
Ret &,
|
|
Ret &,
|
|
|
- stl::conditional_t<std::is_base_of_v<Class, Type>, type_list<>, type_list<Class &>>,
|
|
|
|
|
- !std::is_base_of_v<Class, Type>,
|
|
|
|
|
|
|
+ stl::conditional_t<stl::is_base_of_v<Class, Type>, type_list<>, type_list<Class &>>,
|
|
|
|
|
+ !stl::is_base_of_v<Class, Type>,
|
|
|
false> {};
|
|
false> {};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -93,11 +93,11 @@ struct meta_function_descriptor<Type, Ret (*)(MaybeType, Args...)>
|
|
|
: meta_function_descriptor_traits<
|
|
: meta_function_descriptor_traits<
|
|
|
Ret,
|
|
Ret,
|
|
|
stl::conditional_t<
|
|
stl::conditional_t<
|
|
|
- stl::is_same_v<stl::remove_cvref_t<MaybeType>, Type> || std::is_base_of_v<stl::remove_cvref_t<MaybeType>, Type>,
|
|
|
|
|
|
|
+ stl::is_same_v<stl::remove_cvref_t<MaybeType>, Type> || stl::is_base_of_v<stl::remove_cvref_t<MaybeType>, Type>,
|
|
|
type_list<Args...>,
|
|
type_list<Args...>,
|
|
|
type_list<MaybeType, Args...>>,
|
|
type_list<MaybeType, Args...>>,
|
|
|
- !(stl::is_same_v<stl::remove_cvref_t<MaybeType>, Type> || std::is_base_of_v<stl::remove_cvref_t<MaybeType>, Type>),
|
|
|
|
|
- stl::is_const_v<stl::remove_reference_t<MaybeType>> && (stl::is_same_v<stl::remove_cvref_t<MaybeType>, Type> || std::is_base_of_v<stl::remove_cvref_t<MaybeType>, Type>)> {};
|
|
|
|
|
|
|
+ !(stl::is_same_v<stl::remove_cvref_t<MaybeType>, Type> || stl::is_base_of_v<stl::remove_cvref_t<MaybeType>, Type>),
|
|
|
|
|
+ stl::is_const_v<stl::remove_reference_t<MaybeType>> && (stl::is_same_v<stl::remove_cvref_t<MaybeType>, Type> || stl::is_base_of_v<stl::remove_cvref_t<MaybeType>, Type>)> {};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @brief Meta function descriptor.
|
|
* @brief Meta function descriptor.
|