diff --git a/deps/ox/src/ox/std/typetraits.hpp b/deps/ox/src/ox/std/typetraits.hpp index 96c72f1f..20e8fb10 100644 --- a/deps/ox/src/ox/std/typetraits.hpp +++ b/deps/ox/src/ox/std/typetraits.hpp @@ -68,11 +68,14 @@ template<> struct is_integral: ox::true_type {}; template struct is_union: ox::integral_constant> {}; +template +constexpr bool is_union_v = ox::is_union(); + // indicates the type can have members, but not that it necessarily does template -constexpr uint8_t memberable(int T::*) { return true; } +constexpr bool memberable(int T::*) { return true; } template -constexpr uint16_t memberable(...) { return false; } +constexpr bool memberable(...) { return false; } template struct is_class: ox::integral_constant::value && ox::memberable(0)> {}; @@ -85,6 +88,9 @@ static_assert(ox::is_class::value == false); static_assert(ox::is_class::value == false); } +template +constexpr bool is_class_v = ox::is_class(); + template constexpr bool is_signed = ox::integral_constant::value;