named_type_traits<Type>::value -> named_type_traits_v<Type>

This commit is contained in:
Michele Caini
2019-10-21 14:40:31 +02:00
parent 39e3a5a708
commit 2b97c01bd6
6 changed files with 14 additions and 6 deletions

4
TODO
View File

@@ -34,5 +34,5 @@
* use [[nodiscard]] consistently for safety purposes
* static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...>
* null support for entt::component
* named_type_traits<Type>::value -> named_type_traits_v<Type>
* extend to_integer to &, |, and so on...
* add ENTT_CUSTOM_NAMED_TYPE for custom names
* Make another attempt to overcome named types

View File

@@ -192,6 +192,14 @@ template<typename Type>
using named_type_traits_t = typename named_type_traits<Type>::type;
/**
* @brief Helper variable template.
* @tparam Type Potentially named type.
*/
template<class Type>
constexpr auto named_type_traits_v = named_type_traits<Type>::value;
/**
* @brief Provides the member constant `value` to true if a given type has a
* name. In all other cases, `value` is false.

View File

@@ -216,7 +216,7 @@ class basic_registry {
template<typename Type, typename Family>
static ENTT_ID_TYPE runtime_type() ENTT_NOEXCEPT {
if constexpr(is_named_type_v<Type>) {
return named_type_traits<Type>::value;
return named_type_traits_v<Type>;
} else {
return Family::template type<Type>;
}

View File

@@ -266,7 +266,7 @@ struct meta_node<Type> {
if constexpr(is_named_type_v<Type>) {
auto *candidate = internal::find_if([](auto *candidate) {
return candidate->identifier == named_type_traits<Type>::value;
return candidate->identifier == named_type_traits_v<Type>;
}, *meta_node<>::global);
return candidate ? candidate : &node;

View File

@@ -88,7 +88,7 @@ class dispatcher {
template<typename Event>
static auto type() ENTT_NOEXCEPT {
if constexpr(is_named_type_v<Event>) {
return named_type_traits<Event>::value;
return named_type_traits_v<Event>;
} else {
return event_family::type<Event>;
}

View File

@@ -123,7 +123,7 @@ class emitter {
template<typename Event>
static auto type() ENTT_NOEXCEPT {
if constexpr(is_named_type_v<Event>) {
return named_type_traits<Event>::value;
return named_type_traits_v<Event>;
} else {
return handler_family::type<Event>;
}