Added member_pointer_of traits.
This commit is contained in:
parent
a95885880f
commit
0e988a4d9e
@ -192,6 +192,18 @@ struct is_type_member<TElement, TCollection<Ts...>>
|
|||||||
template<typename TElement, typename TCollection>
|
template<typename TElement, typename TCollection>
|
||||||
constexpr bool is_type_member_v = is_type_member<TElement, TCollection>::value;
|
constexpr bool is_type_member_v = is_type_member<TElement, TCollection>::value;
|
||||||
|
|
||||||
|
template<typename T, typename TObject>
|
||||||
|
struct is_member_object_pointer_of : std::false_type {};
|
||||||
|
|
||||||
|
template<typename TMember, typename TObject>
|
||||||
|
struct is_member_object_pointer_of<TMember (TObject::*), TObject> : std::true_type {};
|
||||||
|
|
||||||
|
template<typename T, typename TObject>
|
||||||
|
inline constexpr bool is_member_object_pointer_of_v = is_member_object_pointer_of<T, TObject>::value;
|
||||||
|
|
||||||
|
template<typename T, typename TObject>
|
||||||
|
concept member_object_pointer_of = is_member_object_pointer_of_v<T, TObject>;
|
||||||
|
|
||||||
template<typename TFrom, typename TTo>
|
template<typename TFrom, typename TTo>
|
||||||
using copy_const_t = std::conditional_t<std::is_const_v<TFrom>, std::add_const_t<TTo>, std::remove_const_t<TTo>>;
|
using copy_const_t = std::conditional_t<std::is_const_v<TFrom>, std::add_const_t<TTo>, std::remove_const_t<TTo>>;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user