|
|
@@ -171,7 +171,7 @@ class meta_any {
|
|
|
static_assert(std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, Type>, "Invalid type");
|
|
|
|
|
|
if constexpr(is_meta_pointer_like_v<Type>) {
|
|
|
- if(!!(req & internal::meta_traits::is_meta_pointer_like)) {
|
|
|
+ if(!!(req & internal::meta_traits::is_pointer_like)) {
|
|
|
if constexpr(std::is_function_v<typename std::pointer_traits<Type>::element_type>) {
|
|
|
static_cast<meta_any *>(other)->emplace<Type>(*static_cast<const Type *>(self.data()));
|
|
|
} else if constexpr(!std::is_void_v<std::remove_const_t<typename std::pointer_traits<Type>::element_type>>) {
|
|
|
@@ -189,13 +189,13 @@ class meta_any {
|
|
|
}
|
|
|
|
|
|
if constexpr(is_complete_v<meta_sequence_container_traits<Type>>) {
|
|
|
- if(!!(req & internal::meta_traits::is_meta_sequence_container)) {
|
|
|
+ if(!!(req & internal::meta_traits::is_sequence_container)) {
|
|
|
*static_cast<meta_sequence_container *>(other) = !!(req & internal::meta_traits::is_const) ? meta_sequence_container{*self.ctx, *static_cast<const Type *>(self.data())} : meta_sequence_container{*self.ctx, *static_cast<Type *>(const_cast<void *>(self.data()))};
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if constexpr(is_complete_v<meta_associative_container_traits<Type>>) {
|
|
|
- if(!!(req & internal::meta_traits::is_meta_associative_container)) {
|
|
|
+ if(!!(req & internal::meta_traits::is_associative_container)) {
|
|
|
*static_cast<meta_associative_container *>(other) = !!(req & internal::meta_traits::is_const) ? meta_associative_container{*self.ctx, *static_cast<const Type *>(self.data())} : meta_associative_container{*self.ctx, *static_cast<Type *>(const_cast<void *>(self.data()))};
|
|
|
}
|
|
|
}
|
|
|
@@ -526,14 +526,14 @@ public:
|
|
|
*/
|
|
|
[[nodiscard]] meta_sequence_container as_sequence_container() noexcept {
|
|
|
meta_sequence_container proxy{};
|
|
|
- vtable(internal::meta_traits::is_meta_sequence_container | (storage.policy() == any_policy::cref ? internal::meta_traits::is_const : internal::meta_traits::is_none), *this, &proxy);
|
|
|
+ vtable(internal::meta_traits::is_sequence_container | (storage.policy() == any_policy::cref ? internal::meta_traits::is_const : internal::meta_traits::is_none), *this, &proxy);
|
|
|
return proxy;
|
|
|
}
|
|
|
|
|
|
/*! @copydoc as_sequence_container */
|
|
|
[[nodiscard]] meta_sequence_container as_sequence_container() const noexcept {
|
|
|
meta_sequence_container proxy{};
|
|
|
- vtable(internal::meta_traits::is_meta_sequence_container | internal::meta_traits::is_const, *this, &proxy);
|
|
|
+ vtable(internal::meta_traits::is_sequence_container | internal::meta_traits::is_const, *this, &proxy);
|
|
|
return proxy;
|
|
|
}
|
|
|
|
|
|
@@ -543,14 +543,14 @@ public:
|
|
|
*/
|
|
|
[[nodiscard]] meta_associative_container as_associative_container() noexcept {
|
|
|
meta_associative_container proxy{};
|
|
|
- vtable(internal::meta_traits::is_meta_associative_container | (storage.policy() == any_policy::cref ? internal::meta_traits::is_const : internal::meta_traits::is_none), *this, &proxy);
|
|
|
+ vtable(internal::meta_traits::is_associative_container | (storage.policy() == any_policy::cref ? internal::meta_traits::is_const : internal::meta_traits::is_none), *this, &proxy);
|
|
|
return proxy;
|
|
|
}
|
|
|
|
|
|
/*! @copydoc as_associative_container */
|
|
|
[[nodiscard]] meta_associative_container as_associative_container() const noexcept {
|
|
|
meta_associative_container proxy{};
|
|
|
- vtable(internal::meta_traits::is_meta_associative_container | internal::meta_traits::is_const, *this, &proxy);
|
|
|
+ vtable(internal::meta_traits::is_associative_container | internal::meta_traits::is_const, *this, &proxy);
|
|
|
return proxy;
|
|
|
}
|
|
|
|
|
|
@@ -561,7 +561,7 @@ public:
|
|
|
*/
|
|
|
[[nodiscard]] meta_any operator*() const noexcept {
|
|
|
meta_any ret{meta_ctx_arg, *ctx};
|
|
|
- vtable(internal::meta_traits::is_meta_pointer_like, *this, &ret);
|
|
|
+ vtable(internal::meta_traits::is_pointer_like, *this, &ret);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
@@ -1219,7 +1219,7 @@ public:
|
|
|
* @return True if the underlying type is pointer-like, false otherwise.
|
|
|
*/
|
|
|
[[nodiscard]] bool is_pointer_like() const noexcept {
|
|
|
- return static_cast<bool>(node.traits & internal::meta_traits::is_meta_pointer_like);
|
|
|
+ return static_cast<bool>(node.traits & internal::meta_traits::is_pointer_like);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1227,7 +1227,7 @@ public:
|
|
|
* @return True if the type is a sequence container, false otherwise.
|
|
|
*/
|
|
|
[[nodiscard]] bool is_sequence_container() const noexcept {
|
|
|
- return static_cast<bool>(node.traits & internal::meta_traits::is_meta_sequence_container);
|
|
|
+ return static_cast<bool>(node.traits & internal::meta_traits::is_sequence_container);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1235,7 +1235,7 @@ public:
|
|
|
* @return True if the type is an associative container, false otherwise.
|
|
|
*/
|
|
|
[[nodiscard]] bool is_associative_container() const noexcept {
|
|
|
- return static_cast<bool>(node.traits & internal::meta_traits::is_meta_associative_container);
|
|
|
+ return static_cast<bool>(node.traits & internal::meta_traits::is_associative_container);
|
|
|
}
|
|
|
|
|
|
/**
|