From 5b1928b17382da8491bdfa7ffc1dc88c782acdd4 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Thu, 10 Aug 2023 23:24:06 +0700 Subject: [PATCH] little cleanup --- develop/singles/headers/meta.hpp/meta_all.hpp | 28 ++++++++----------- headers/meta.hpp/meta_binds.hpp | 20 ++++++------- headers/meta.hpp/meta_binds/class_bind.hpp | 8 ++---- 3 files changed, 24 insertions(+), 32 deletions(-) diff --git a/develop/singles/headers/meta.hpp/meta_all.hpp b/develop/singles/headers/meta.hpp/meta_all.hpp index c5033c2..f660a16 100644 --- a/develop/singles/headers/meta.hpp/meta_all.hpp +++ b/develop/singles/headers/meta.hpp/meta_all.hpp @@ -4500,19 +4500,19 @@ namespace meta_hpp::detail concept class_bind_destructor_kind // = class_kind && std::is_destructible_v; // - template < typename Class, typename Base > + template < typename Base, typename Class > concept class_bind_base_kind // - = class_kind && class_kind // + = class_kind && class_kind // && std::derived_from; // - template < typename Class, typename Member > + template < typename Member, typename Class > concept class_bind_member_kind // - = class_kind && member_pointer_kind // + = member_pointer_kind && class_kind // && std::is_same_v::class_type>; // - template < typename Class, typename Method > + template < typename Method, typename Class > concept class_bind_method_kind // - = class_kind && method_pointer_kind // + = method_pointer_kind && class_kind // && std::is_same_v::class_type>; // } @@ -4629,8 +4629,7 @@ namespace meta_hpp public: explicit class_bind(metadata_map metadata); - template < detail::class_kind... Bases > - requires(... && detail::class_bind_base_kind) + template < detail::class_bind_base_kind... Bases > class_bind& base_(); template < typename... Args, typename... Opts > @@ -4644,11 +4643,10 @@ namespace meta_hpp template < detail::function_pointer_kind Function, typename... Opts > class_bind& function_(std::string name, Function function_ptr, Opts&&... opts); - template < detail::member_pointer_kind Member, typename... Opts > + template < detail::class_bind_member_kind Member, typename... Opts > class_bind& member_(std::string name, Member member_ptr, Opts&&... opts); - template < detail::method_pointer_kind Method, typename... Opts > - requires detail::class_bind_method_kind + template < detail::class_bind_method_kind Method, typename... Opts > class_bind& method_(std::string name, Method method_ptr, Opts&&... opts); template < typename Type > @@ -5024,8 +5022,7 @@ namespace meta_hpp } template < detail::class_kind Class > - template < detail::class_kind... Bases > - requires(... && detail::class_bind_base_kind) + template < detail::class_bind_base_kind... Bases > class_bind& class_bind::base_() { using namespace detail; using namespace detail::class_bind_impl; @@ -5211,7 +5208,7 @@ namespace meta_hpp } template < detail::class_kind Class > - template < detail::member_pointer_kind Member, typename... Opts > + template < detail::class_bind_member_kind Member, typename... Opts > class_bind& class_bind::member_(std::string name, Member member_ptr, [[maybe_unused]] Opts&&... opts) { using opts_t = detail::type_list...>; using policy_t = detail::type_list_first_of_t; @@ -5247,8 +5244,7 @@ namespace meta_hpp } template < detail::class_kind Class > - template < detail::method_pointer_kind Method, typename... Opts > - requires detail::class_bind_method_kind + template < detail::class_bind_method_kind Method, typename... Opts > class_bind& class_bind::method_(std::string name, Method method_ptr, Opts&&... opts) { using opts_t = detail::type_list...>; using policy_t = detail::type_list_first_of_t; diff --git a/headers/meta.hpp/meta_binds.hpp b/headers/meta.hpp/meta_binds.hpp index c16790a..a050b94 100644 --- a/headers/meta.hpp/meta_binds.hpp +++ b/headers/meta.hpp/meta_binds.hpp @@ -22,19 +22,19 @@ namespace meta_hpp::detail concept class_bind_destructor_kind // = class_kind && std::is_destructible_v; // - template < typename Class, typename Base > + template < typename Base, typename Class > concept class_bind_base_kind // - = class_kind && class_kind // + = class_kind && class_kind // && std::derived_from; // - template < typename Class, typename Member > + template < typename Member, typename Class > concept class_bind_member_kind // - = class_kind && member_pointer_kind // + = member_pointer_kind && class_kind // && std::is_same_v::class_type>; // - template < typename Class, typename Method > + template < typename Method, typename Class > concept class_bind_method_kind // - = class_kind && method_pointer_kind // + = method_pointer_kind && class_kind // && std::is_same_v::class_type>; // } @@ -151,8 +151,7 @@ namespace meta_hpp public: explicit class_bind(metadata_map metadata); - template < detail::class_kind... Bases > - requires(... && detail::class_bind_base_kind) + template < detail::class_bind_base_kind... Bases > class_bind& base_(); template < typename... Args, typename... Opts > @@ -166,11 +165,10 @@ namespace meta_hpp template < detail::function_pointer_kind Function, typename... Opts > class_bind& function_(std::string name, Function function_ptr, Opts&&... opts); - template < detail::member_pointer_kind Member, typename... Opts > + template < detail::class_bind_member_kind Member, typename... Opts > class_bind& member_(std::string name, Member member_ptr, Opts&&... opts); - template < detail::method_pointer_kind Method, typename... Opts > - requires detail::class_bind_method_kind + template < detail::class_bind_method_kind Method, typename... Opts > class_bind& method_(std::string name, Method method_ptr, Opts&&... opts); template < typename Type > diff --git a/headers/meta.hpp/meta_binds/class_bind.hpp b/headers/meta.hpp/meta_binds/class_bind.hpp index d6294dc..f96b30f 100644 --- a/headers/meta.hpp/meta_binds/class_bind.hpp +++ b/headers/meta.hpp/meta_binds/class_bind.hpp @@ -98,8 +98,7 @@ namespace meta_hpp } template < detail::class_kind Class > - template < detail::class_kind... Bases > - requires(... && detail::class_bind_base_kind) + template < detail::class_bind_base_kind... Bases > class_bind& class_bind::base_() { using namespace detail; using namespace detail::class_bind_impl; @@ -285,7 +284,7 @@ namespace meta_hpp } template < detail::class_kind Class > - template < detail::member_pointer_kind Member, typename... Opts > + template < detail::class_bind_member_kind Member, typename... Opts > class_bind& class_bind::member_(std::string name, Member member_ptr, [[maybe_unused]] Opts&&... opts) { using opts_t = detail::type_list...>; using policy_t = detail::type_list_first_of_t; @@ -321,8 +320,7 @@ namespace meta_hpp } template < detail::class_kind Class > - template < detail::method_pointer_kind Method, typename... Opts > - requires detail::class_bind_method_kind + template < detail::class_bind_method_kind Method, typename... Opts > class_bind& class_bind::method_(std::string name, Method method_ptr, Opts&&... opts) { using opts_t = detail::type_list...>; using policy_t = detail::type_list_first_of_t;