replace std::same_as to is_same_v

This commit is contained in:
BlackMATov
2022-01-07 19:21:47 +07:00
parent 18a456217c
commit 794868b1b5
6 changed files with 48 additions and 49 deletions

View File

@@ -14,7 +14,6 @@
#include <any>
#include <array>
#include <atomic>
#include <concepts>
#include <functional>
#include <initializer_list>
#include <iosfwd>

View File

@@ -53,7 +53,7 @@ namespace meta_hpp
template < detail::class_kind Class >
template < detail::member_kind Member >
class_bind<Class>& class_bind<Class>::member_(std::string name, Member member) {
static_assert(std::same_as<Class, typename detail::member_traits<Member>::class_type>);
static_assert(std::is_same_v<Class, typename detail::member_traits<Member>::class_type>);
auto member_state = detail::member_state::make<Member>(std::move(name), std::move(member));
data_->members.emplace(member_state->index, std::move(member_state));
return *this;
@@ -62,7 +62,7 @@ namespace meta_hpp
template < detail::class_kind Class >
template < detail::method_kind Method >
class_bind<Class>& class_bind<Class>::method_(std::string name, Method method) {
static_assert(std::same_as<Class, typename detail::method_traits<Method>::class_type>);
static_assert(std::is_same_v<Class, typename detail::method_traits<Method>::class_type>);
auto method_state = detail::method_state::make<Method>(std::move(name), std::move(method));
data_->methods.emplace(method_state->index, std::move(method_state));
return *this;

View File

@@ -16,13 +16,13 @@ namespace meta_hpp
{
template < typename T >
concept state_family =
std::same_as<T, ctor> ||
std::same_as<T, evalue> ||
std::same_as<T, function> ||
std::same_as<T, member> ||
std::same_as<T, method> ||
std::same_as<T, scope> ||
std::same_as<T, variable>;
std::is_same_v<T, ctor> ||
std::is_same_v<T, evalue> ||
std::is_same_v<T, function> ||
std::is_same_v<T, member> ||
std::is_same_v<T, method> ||
std::is_same_v<T, scope> ||
std::is_same_v<T, variable>;
}
template < detail::state_family T, detail::state_family U >

View File

@@ -64,18 +64,18 @@ namespace meta_hpp
{
template < typename T >
concept type_family =
std::same_as<T, any_type> ||
std::same_as<T, array_type> ||
std::same_as<T, class_type> ||
std::same_as<T, ctor_type> ||
std::same_as<T, enum_type> ||
std::same_as<T, function_type> ||
std::same_as<T, member_type> ||
std::same_as<T, method_type> ||
std::same_as<T, number_type> ||
std::same_as<T, pointer_type> ||
std::same_as<T, reference_type> ||
std::same_as<T, void_type>;
std::is_same_v<T, any_type> ||
std::is_same_v<T, array_type> ||
std::is_same_v<T, class_type> ||
std::is_same_v<T, ctor_type> ||
std::is_same_v<T, enum_type> ||
std::is_same_v<T, function_type> ||
std::is_same_v<T, member_type> ||
std::is_same_v<T, method_type> ||
std::is_same_v<T, number_type> ||
std::is_same_v<T, pointer_type> ||
std::is_same_v<T, reference_type> ||
std::is_same_v<T, void_type>;
template < type_family T >
[[nodiscard]] auto data_access(const T& type) {

View File

@@ -60,7 +60,7 @@ namespace meta_hpp::detail
{
template < typename T >
concept value_kind =
std::same_as<T, value>;
std::is_same_v<T, value>;
template < typename T >
concept decay_value_kind =
@@ -68,11 +68,11 @@ namespace meta_hpp::detail
template < typename T >
concept uvalue_kind =
std::same_as<T, arg_base> ||
std::same_as<T, arg> ||
std::same_as<T, inst_base> ||
std::same_as<T, inst> ||
std::same_as<T, value>;
std::is_same_v<T, arg_base> ||
std::is_same_v<T, arg> ||
std::is_same_v<T, inst_base> ||
std::is_same_v<T, inst> ||
std::is_same_v<T, value>;
template < typename T >
concept decay_uvalue_kind =

View File

@@ -57,28 +57,28 @@ TEST_CASE("features/meta_utilities/detail") {
}
SUBCASE("cvref_traits::copy_to") {
static_assert(std::same_as<meta::detail::cvref_traits<float>::copy_to<int>, int>);
static_assert(std::same_as<meta::detail::cvref_traits<const float>::copy_to<int>, const int>);
static_assert(std::same_as<meta::detail::cvref_traits<const volatile float>::copy_to<int>, const volatile int>);
static_assert(std::same_as<meta::detail::cvref_traits<float&>::copy_to<int>, int&>);
static_assert(std::same_as<meta::detail::cvref_traits<const float&>::copy_to<int>, const int&>);
static_assert(std::same_as<meta::detail::cvref_traits<volatile float&>::copy_to<int>, volatile int&>);
static_assert(std::same_as<meta::detail::cvref_traits<const volatile float&&>::copy_to<int>, const volatile int&&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<float>::copy_to<int>, int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const float>::copy_to<int>, const int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const volatile float>::copy_to<int>, const volatile int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<float&>::copy_to<int>, int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const float&>::copy_to<int>, const int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<volatile float&>::copy_to<int>, volatile int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const volatile float&&>::copy_to<int>, const volatile int&&>);
static_assert(std::same_as<meta::detail::cvref_traits<float>::copy_to<int&>, int>);
static_assert(std::same_as<meta::detail::cvref_traits<const float>::copy_to<int&>, const int>);
static_assert(std::same_as<meta::detail::cvref_traits<const volatile float>::copy_to<int&>, const volatile int>);
static_assert(std::same_as<meta::detail::cvref_traits<float&>::copy_to<int&>, int&>);
static_assert(std::same_as<meta::detail::cvref_traits<const float&>::copy_to<int&>, const int&>);
static_assert(std::same_as<meta::detail::cvref_traits<volatile float&>::copy_to<int&>, volatile int&>);
static_assert(std::same_as<meta::detail::cvref_traits<const volatile float&&>::copy_to<int&>, const volatile int&&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<float>::copy_to<int&>, int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const float>::copy_to<int&>, const int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const volatile float>::copy_to<int&>, const volatile int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<float&>::copy_to<int&>, int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const float&>::copy_to<int&>, const int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<volatile float&>::copy_to<int&>, volatile int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const volatile float&&>::copy_to<int&>, const volatile int&&>);
static_assert(std::same_as<meta::detail::cvref_traits<float>::copy_to<const volatile int&&>, int>);
static_assert(std::same_as<meta::detail::cvref_traits<const float>::copy_to<const volatile int&&>, const int>);
static_assert(std::same_as<meta::detail::cvref_traits<const volatile float>::copy_to<const volatile int&&>, const volatile int>);
static_assert(std::same_as<meta::detail::cvref_traits<float&>::copy_to<const volatile int&&>, int&>);
static_assert(std::same_as<meta::detail::cvref_traits<const float&>::copy_to<const volatile int&&>, const int&>);
static_assert(std::same_as<meta::detail::cvref_traits<volatile float&>::copy_to<const volatile int&&>, volatile int&>);
static_assert(std::same_as<meta::detail::cvref_traits<const volatile float&&>::copy_to<const volatile int&&>, const volatile int&&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<float>::copy_to<const volatile int&&>, int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const float>::copy_to<const volatile int&&>, const int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const volatile float>::copy_to<const volatile int&&>, const volatile int>);
static_assert(std::is_same_v<meta::detail::cvref_traits<float&>::copy_to<const volatile int&&>, int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const float&>::copy_to<const volatile int&&>, const int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<volatile float&>::copy_to<const volatile int&&>, volatile int&>);
static_assert(std::is_same_v<meta::detail::cvref_traits<const volatile float&&>::copy_to<const volatile int&&>, const volatile int&&>);
}
}