From 40525f45aafe21fb53d70c0d6f505bab8aad04d3 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Wed, 9 Nov 2022 17:27:55 +0700 Subject: [PATCH] replace std::is_same_v to stdex::same_as concept --- headers/meta.hpp/meta_detail/index_family.hpp | 18 +-- headers/meta.hpp/meta_detail/state_family.hpp | 18 +-- headers/meta.hpp/meta_detail/type_family.hpp | 28 ++--- .../meta_detail/value_utilities/utraits.hpp | 10 +- headers/meta.hpp/meta_states.hpp | 30 ++--- headers/meta.hpp/meta_uvalue.hpp | 2 +- headers/meta.hpp/meta_uvalue/uvalue.hpp | 8 +- singles/headers/meta.hpp/meta_all.hpp | 114 +++++++++--------- untests/meta_utilities/detail_tests.cpp | 42 +++---- untests/meta_utilities/value3_tests.cpp | 48 ++++---- untests/meta_utilities/value_tests.cpp | 8 +- 11 files changed, 163 insertions(+), 163 deletions(-) diff --git a/headers/meta.hpp/meta_detail/index_family.hpp b/headers/meta.hpp/meta_detail/index_family.hpp index 0ac684f..9d32ed3 100644 --- a/headers/meta.hpp/meta_detail/index_family.hpp +++ b/headers/meta.hpp/meta_detail/index_family.hpp @@ -12,15 +12,15 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_index_family_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept index_family = is_index_family_v; diff --git a/headers/meta.hpp/meta_detail/state_family.hpp b/headers/meta.hpp/meta_detail/state_family.hpp index 4ee2b2a..9548338 100644 --- a/headers/meta.hpp/meta_detail/state_family.hpp +++ b/headers/meta.hpp/meta_detail/state_family.hpp @@ -12,15 +12,15 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_state_family_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept state_family = is_state_family_v; diff --git a/headers/meta.hpp/meta_detail/type_family.hpp b/headers/meta.hpp/meta_detail/type_family.hpp index dbdc26e..2c48fc8 100644 --- a/headers/meta.hpp/meta_detail/type_family.hpp +++ b/headers/meta.hpp/meta_detail/type_family.hpp @@ -12,20 +12,20 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_type_family_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept type_family = is_type_family_v; diff --git a/headers/meta.hpp/meta_detail/value_utilities/utraits.hpp b/headers/meta.hpp/meta_detail/value_utilities/utraits.hpp index a39b769..7ccd92a 100644 --- a/headers/meta.hpp/meta_detail/value_utilities/utraits.hpp +++ b/headers/meta.hpp/meta_detail/value_utilities/utraits.hpp @@ -13,11 +13,11 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_uvalue_kind_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept uvalue_kind = is_uvalue_kind_v; diff --git a/headers/meta.hpp/meta_states.hpp b/headers/meta.hpp/meta_states.hpp index 67073e9..8fc8565 100644 --- a/headers/meta.hpp/meta_states.hpp +++ b/headers/meta.hpp/meta_states.hpp @@ -52,33 +52,33 @@ namespace meta_hpp template < typename Policy > inline constexpr bool is_constructor_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_function_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_member_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_method_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_variable_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > concept constructor_policy_kind = is_constructor_policy_v; diff --git a/headers/meta.hpp/meta_uvalue.hpp b/headers/meta.hpp/meta_uvalue.hpp index 85e941f..80beb74 100644 --- a/headers/meta.hpp/meta_uvalue.hpp +++ b/headers/meta.hpp/meta_uvalue.hpp @@ -12,7 +12,7 @@ namespace meta_hpp::detail { template < typename T > - inline constexpr bool is_value_kind_v = std::is_same_v; + inline constexpr bool is_value_kind_v = stdex::same_as; template < typename T > concept value_kind = is_value_kind_v; diff --git a/headers/meta.hpp/meta_uvalue/uvalue.hpp b/headers/meta.hpp/meta_uvalue/uvalue.hpp index 79b58db..dbae126 100644 --- a/headers/meta.hpp/meta_uvalue/uvalue.hpp +++ b/headers/meta.hpp/meta_uvalue/uvalue.hpp @@ -329,7 +329,7 @@ namespace meta_hpp template < typename T > auto uvalue::get_as() -> std::conditional_t, T, T&> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); if constexpr ( detail::pointer_kind ) { if ( T ptr = try_get_as(); ptr || get_type().is_nullptr() ) { @@ -346,7 +346,7 @@ namespace meta_hpp template < typename T > auto uvalue::get_as() const -> std::conditional_t, T, const T&> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); if constexpr ( detail::pointer_kind ) { if ( T ptr = try_get_as(); ptr || get_type().is_nullptr() ) { @@ -364,7 +364,7 @@ namespace meta_hpp template < typename T > // NOLINTNEXTLINE(*-cognitive-complexity) auto uvalue::try_get_as() noexcept -> std::conditional_t, T, T*> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); const any_type& from_type = get_type(); const any_type& to_type = resolve_type(); @@ -429,7 +429,7 @@ namespace meta_hpp template < typename T > // NOLINTNEXTLINE(*-cognitive-complexity) auto uvalue::try_get_as() const noexcept -> std::conditional_t, T, const T*> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); const any_type& from_type = get_type(); const any_type& to_type = resolve_type(); diff --git a/singles/headers/meta.hpp/meta_all.hpp b/singles/headers/meta.hpp/meta_all.hpp index 4333872..ae718b2 100644 --- a/singles/headers/meta.hpp/meta_all.hpp +++ b/singles/headers/meta.hpp/meta_all.hpp @@ -905,20 +905,20 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_type_family_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept type_family = is_type_family_v; @@ -2022,15 +2022,15 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_index_family_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept index_family = is_index_family_v; @@ -2216,7 +2216,7 @@ namespace std namespace meta_hpp::detail { template < typename T > - inline constexpr bool is_value_kind_v = std::is_same_v; + inline constexpr bool is_value_kind_v = stdex::same_as; template < typename T > concept value_kind = is_value_kind_v; @@ -2306,15 +2306,15 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_state_family_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept state_family = is_state_family_v; @@ -2364,33 +2364,33 @@ namespace meta_hpp template < typename Policy > inline constexpr bool is_constructor_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_function_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_member_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_method_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > inline constexpr bool is_variable_policy_v = - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename Policy > concept constructor_policy_kind = is_constructor_policy_v; @@ -4632,11 +4632,11 @@ namespace meta_hpp::detail { template < typename T > inline constexpr bool is_uvalue_kind_v = - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v || - std::is_same_v; + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as || + stdex::same_as; template < typename T > concept uvalue_kind = is_uvalue_kind_v; @@ -8296,7 +8296,7 @@ namespace meta_hpp template < typename T > auto uvalue::get_as() -> std::conditional_t, T, T&> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); if constexpr ( detail::pointer_kind ) { if ( T ptr = try_get_as(); ptr || get_type().is_nullptr() ) { @@ -8313,7 +8313,7 @@ namespace meta_hpp template < typename T > auto uvalue::get_as() const -> std::conditional_t, T, const T&> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); if constexpr ( detail::pointer_kind ) { if ( T ptr = try_get_as(); ptr || get_type().is_nullptr() ) { @@ -8331,7 +8331,7 @@ namespace meta_hpp template < typename T > // NOLINTNEXTLINE(*-cognitive-complexity) auto uvalue::try_get_as() noexcept -> std::conditional_t, T, T*> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); const any_type& from_type = get_type(); const any_type& to_type = resolve_type(); @@ -8396,7 +8396,7 @@ namespace meta_hpp template < typename T > // NOLINTNEXTLINE(*-cognitive-complexity) auto uvalue::try_get_as() const noexcept -> std::conditional_t, T, const T*> { - static_assert(std::is_same_v>); + static_assert(stdex::same_as>); const any_type& from_type = get_type(); const any_type& to_type = resolve_type(); diff --git a/untests/meta_utilities/detail_tests.cpp b/untests/meta_utilities/detail_tests.cpp index f80f88f..f72d4da 100644 --- a/untests/meta_utilities/detail_tests.cpp +++ b/untests/meta_utilities/detail_tests.cpp @@ -57,28 +57,28 @@ TEST_CASE("meta/meta_utilities/detail") { } SUBCASE("cvref_traits::copy_to") { - static_assert(std::is_same_v::copy_to, int>); - static_assert(std::is_same_v::copy_to, const int>); - static_assert(std::is_same_v::copy_to, const volatile int>); - static_assert(std::is_same_v::copy_to, int&>); - static_assert(std::is_same_v::copy_to, const int&>); - static_assert(std::is_same_v::copy_to, volatile int&>); - static_assert(std::is_same_v::copy_to, const volatile int&&>); + static_assert(meta::stdex::same_as::copy_to, int>); + static_assert(meta::stdex::same_as::copy_to, const int>); + static_assert(meta::stdex::same_as::copy_to, const volatile int>); + static_assert(meta::stdex::same_as::copy_to, int&>); + static_assert(meta::stdex::same_as::copy_to, const int&>); + static_assert(meta::stdex::same_as::copy_to, volatile int&>); + static_assert(meta::stdex::same_as::copy_to, const volatile int&&>); - static_assert(std::is_same_v::copy_to, int>); - static_assert(std::is_same_v::copy_to, const int>); - static_assert(std::is_same_v::copy_to, const volatile int>); - static_assert(std::is_same_v::copy_to, int&>); - static_assert(std::is_same_v::copy_to, const int&>); - static_assert(std::is_same_v::copy_to, volatile int&>); - static_assert(std::is_same_v::copy_to, const volatile int&&>); + static_assert(meta::stdex::same_as::copy_to, int>); + static_assert(meta::stdex::same_as::copy_to, const int>); + static_assert(meta::stdex::same_as::copy_to, const volatile int>); + static_assert(meta::stdex::same_as::copy_to, int&>); + static_assert(meta::stdex::same_as::copy_to, const int&>); + static_assert(meta::stdex::same_as::copy_to, volatile int&>); + static_assert(meta::stdex::same_as::copy_to, const volatile int&&>); - static_assert(std::is_same_v::copy_to, int>); - static_assert(std::is_same_v::copy_to, const int>); - static_assert(std::is_same_v::copy_to, const volatile int>); - static_assert(std::is_same_v::copy_to, int&>); - static_assert(std::is_same_v::copy_to, const int&>); - static_assert(std::is_same_v::copy_to, volatile int&>); - static_assert(std::is_same_v::copy_to, const volatile int&&>); + static_assert(meta::stdex::same_as::copy_to, int>); + static_assert(meta::stdex::same_as::copy_to, const int>); + static_assert(meta::stdex::same_as::copy_to, const volatile int>); + static_assert(meta::stdex::same_as::copy_to, int&>); + static_assert(meta::stdex::same_as::copy_to, const int&>); + static_assert(meta::stdex::same_as::copy_to, volatile int&>); + static_assert(meta::stdex::same_as::copy_to, const volatile int&&>); } } diff --git a/untests/meta_utilities/value3_tests.cpp b/untests/meta_utilities/value3_tests.cpp index 3543c37..19297c5 100644 --- a/untests/meta_utilities/value3_tests.cpp +++ b/untests/meta_utilities/value3_tests.cpp @@ -90,20 +90,20 @@ TEST_CASE("meta/meta_utilities/value4/get_type") { TEST_CASE("meta/meta_utilities/value4/get_as") { namespace meta = meta_hpp; - static_assert(std::is_same_v().get_as()), derived&>); - static_assert(std::is_same_v().get_as()), derived&>); - static_assert(std::is_same_v().get_as()), const derived&>); - static_assert(std::is_same_v().get_as()), const derived&>); + static_assert(meta::stdex::same_as().get_as()), derived&>); + static_assert(meta::stdex::same_as().get_as()), derived&>); + static_assert(meta::stdex::same_as().get_as()), const derived&>); + static_assert(meta::stdex::same_as().get_as()), const derived&>); - static_assert(std::is_same_v().get_as()), derived*>); - static_assert(std::is_same_v().get_as()), derived*>); - static_assert(std::is_same_v().get_as()), derived*>); - static_assert(std::is_same_v().get_as()), derived*>); + static_assert(meta::stdex::same_as().get_as()), derived*>); + static_assert(meta::stdex::same_as().get_as()), derived*>); + static_assert(meta::stdex::same_as().get_as()), derived*>); + static_assert(meta::stdex::same_as().get_as()), derived*>); - static_assert(std::is_same_v().get_as()), const derived*>); - static_assert(std::is_same_v().get_as()), const derived*>); - static_assert(std::is_same_v().get_as()), const derived*>); - static_assert(std::is_same_v().get_as()), const derived*>); + static_assert(meta::stdex::same_as().get_as()), const derived*>); + static_assert(meta::stdex::same_as().get_as()), const derived*>); + static_assert(meta::stdex::same_as().get_as()), const derived*>); + static_assert(meta::stdex::same_as().get_as()), const derived*>); SUBCASE("derived to derived") { { @@ -209,20 +209,20 @@ TEST_CASE("meta/meta_utilities/value4/get_as") { TEST_CASE("meta/meta_utilities/value4/try_get_as") { namespace meta = meta_hpp; - static_assert(std::is_same_v().try_get_as()), derived*>); - static_assert(std::is_same_v().try_get_as()), derived*>); - static_assert(std::is_same_v().try_get_as()), const derived*>); - static_assert(std::is_same_v().try_get_as()), const derived*>); + static_assert(meta::stdex::same_as().try_get_as()), derived*>); + static_assert(meta::stdex::same_as().try_get_as()), derived*>); + static_assert(meta::stdex::same_as().try_get_as()), const derived*>); + static_assert(meta::stdex::same_as().try_get_as()), const derived*>); - static_assert(std::is_same_v().try_get_as()), derived*>); - static_assert(std::is_same_v().try_get_as()), derived*>); - static_assert(std::is_same_v().try_get_as()), derived*>); - static_assert(std::is_same_v().try_get_as()), derived*>); + static_assert(meta::stdex::same_as().try_get_as()), derived*>); + static_assert(meta::stdex::same_as().try_get_as()), derived*>); + static_assert(meta::stdex::same_as().try_get_as()), derived*>); + static_assert(meta::stdex::same_as().try_get_as()), derived*>); - static_assert(std::is_same_v().try_get_as()), const derived*>); - static_assert(std::is_same_v().try_get_as()), const derived*>); - static_assert(std::is_same_v().try_get_as()), const derived*>); - static_assert(std::is_same_v().try_get_as()), const derived*>); + static_assert(meta::stdex::same_as().try_get_as()), const derived*>); + static_assert(meta::stdex::same_as().try_get_as()), const derived*>); + static_assert(meta::stdex::same_as().try_get_as()), const derived*>); + static_assert(meta::stdex::same_as().try_get_as()), const derived*>); SUBCASE("derived to derived") { { diff --git a/untests/meta_utilities/value_tests.cpp b/untests/meta_utilities/value_tests.cpp index 3539bb5..ad8430d 100644 --- a/untests/meta_utilities/value_tests.cpp +++ b/untests/meta_utilities/value_tests.cpp @@ -104,16 +104,16 @@ TEST_CASE("meta/meta_utilities/value") { ivec2::copy_constructor_counter = 0; SUBCASE("cast types") { - static_assert(std::is_same_v< + static_assert(meta::stdex::same_as< decltype(std::declval().get_as()), ivec2&>); - static_assert(std::is_same_v< + static_assert(meta::stdex::same_as< decltype(std::declval().get_as()), ivec2&>); - static_assert(std::is_same_v< + static_assert(meta::stdex::same_as< decltype(std::declval().get_as()), const ivec2&>); - static_assert(std::is_same_v< + static_assert(meta::stdex::same_as< decltype(std::declval().get_as()), const ivec2&>); }