前后端全部提交
This commit is contained in:
@@ -281,10 +281,14 @@ template <auto Member, typename Prop>
|
||||
concept Prop_Member = requires {
|
||||
requires std::is_member_object_pointer_v<decltype(Member)>;
|
||||
requires std::derived_from<Prop, typename Member_Pointer_Traits<decltype(Member)>::Owner_Type>;
|
||||
requires Tagged_Prop<typename Member_Pointer_Traits<decltype(Member)>::Owner_Type>;
|
||||
requires requires { typename Member_Pointer_Traits<decltype(Member)>::Owner_Type::Prop_Tag; } || Tagged_Prop<typename Member_Pointer_Traits<decltype(Member)>::Owner_Type>;
|
||||
};
|
||||
template <typename Owner, typename = void>
|
||||
struct Prop_Owner_Tag { using Type = typename Owner::Tag_Type; };
|
||||
template <typename Owner>
|
||||
struct Prop_Owner_Tag<Owner, std::void_t<typename Owner::Prop_Tag>> { using Type = typename Owner::Prop_Tag; };
|
||||
template <auto Member>
|
||||
using Prop_Member_Tag = typename Member_Pointer_Traits<decltype(Member)>::Owner_Type::Tag_Type;
|
||||
using Prop_Member_Tag = typename Prop_Owner_Tag<typename Member_Pointer_Traits<decltype(Member)>::Owner_Type>::Type;
|
||||
template <typename Value, auto Member, typename State>
|
||||
concept State_Member_Settable = requires(State& state, Value&& value) {
|
||||
requires State_Member<Member, State>;
|
||||
|
||||
Reference in New Issue
Block a user