|
|
@@ -29,13 +29,15 @@ enum class meta_traits : std::uint32_t {
|
|
|
is_const = 0x0001,
|
|
|
is_static = 0x0002,
|
|
|
is_arithmetic = 0x0004,
|
|
|
- is_array = 0x0008,
|
|
|
- is_enum = 0x0010,
|
|
|
- is_class = 0x0020,
|
|
|
- is_pointer = 0x0040,
|
|
|
- is_meta_pointer_like = 0x0080,
|
|
|
- is_meta_sequence_container = 0x0100,
|
|
|
- is_meta_associative_container = 0x0200,
|
|
|
+ is_integral = 0x0008,
|
|
|
+ is_signed = 0x0010,
|
|
|
+ is_array = 0x0020,
|
|
|
+ is_enum = 0x0040,
|
|
|
+ is_class = 0x0080,
|
|
|
+ is_pointer = 0x0100,
|
|
|
+ is_meta_pointer_like = 0x0200,
|
|
|
+ is_meta_sequence_container = 0x0400,
|
|
|
+ is_meta_associative_container = 0x0800,
|
|
|
_entt_enum_as_bitmask
|
|
|
};
|
|
|
|
|
|
@@ -170,6 +172,8 @@ public:
|
|
|
{},
|
|
|
internal::meta_traits::is_none
|
|
|
| (std::is_arithmetic_v<Type> ? internal::meta_traits::is_arithmetic : internal::meta_traits::is_none)
|
|
|
+ | (std::is_integral_v<Type> ? internal::meta_traits::is_integral : internal::meta_traits::is_none)
|
|
|
+ | (std::is_signed_v<Type> ? internal::meta_traits::is_signed : internal::meta_traits::is_none)
|
|
|
| (std::is_array_v<Type> ? internal::meta_traits::is_array : internal::meta_traits::is_none)
|
|
|
| (std::is_enum_v<Type> ? internal::meta_traits::is_enum : internal::meta_traits::is_none)
|
|
|
| (std::is_class_v<Type> ? internal::meta_traits::is_class : internal::meta_traits::is_none)
|