mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-15 03:45:30 +07:00
replace std::same_as to is_same_v
This commit is contained in:
@@ -14,7 +14,6 @@
|
||||
#include <any>
|
||||
#include <array>
|
||||
#include <atomic>
|
||||
#include <concepts>
|
||||
#include <functional>
|
||||
#include <initializer_list>
|
||||
#include <iosfwd>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 >
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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&&>);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user