@@ -302,29 +302,21 @@ NBL_CONSTEXPR_STATIC_INLINE bool is_spirv_type_v = is_spirv_type<T>::value;
302302
303303template<class T>
304304struct is_unsigned : impl::base_type_forwarder<impl::is_unsigned, typename remove_cv<T>::type> {};
305- template<class T>
306- NBL_CONSTEXPR_STATIC_INLINE bool is_unsigned_v = is_unsigned<T>::value;
307305
308306template<class T>
309307struct is_integral : impl::base_type_forwarder<impl::is_integral, typename remove_cv<T>::type> {};
310- template<class T>
311- NBL_CONSTEXPR_STATIC_INLINE bool is_integral_v = is_integral<T>::value;
312308
313309template<class T>
314310struct is_floating_point : impl::base_type_forwarder<impl::is_floating_point, typename remove_cv<T>::type> {};
315311
316312template<class T>
317313struct is_signed : impl::base_type_forwarder<impl::is_signed, typename remove_cv<T>::type> {};
318- template<class T>
319- NBL_CONSTEXPR_STATIC_INLINE bool is_signed_v = is_signed<T>::value;
320314
321315template<class T>
322316struct is_scalar : bool_constant<
323317 impl::is_integral<typename remove_cv<T>::type>::value ||
324318 impl::is_floating_point<typename remove_cv<T>::type>::value
325319> {};
326- template<class T>
327- NBL_CONSTEXPR_STATIC_INLINE bool is_scalar_v = is_scalar<T>::value;
328320
329321template<class T>
330322struct is_const : bool_constant<false > {};
@@ -396,13 +388,8 @@ struct enable_if {};
396388template<class T>
397389struct enable_if<true , T> : type_identity<T> {};
398390
399- template<bool B, class T = void >
400- using enable_if_t = typename enable_if<B, T>::type;
401-
402391template<class T>
403392struct alignment_of;
404- template<class T>
405- NBL_CONSTEXPR_STATIC_INLINE uint32_t alignment_of_v = alignment_of<T>::value;
406393
407394template<class >
408395struct make_void { using type = void ; };
@@ -527,9 +514,6 @@ using is_unbounded_array = std::is_unbounded_array<T>;
527514template<class T>
528515using is_scalar = std::is_scalar<T>;
529516
530- template<class T>
531- NBL_CONSTEXPR_STATIC_INLINE bool is_scalar_v = is_scalar<T>::value;
532-
533517template<class T>
534518struct is_signed : impl::base_type_forwarder<std::is_signed, T> {};
535519
@@ -539,9 +523,6 @@ struct is_unsigned : impl::base_type_forwarder<std::is_unsigned, T> {};
539523template<class T>
540524struct is_integral : impl::base_type_forwarder<std::is_integral, T> {};
541525
542- template<class T>
543- NBL_CONSTEXPR_STATIC_INLINE bool is_integral_v = is_integral<T>::value;
544-
545526template<class T>
546527struct is_floating_point : impl::base_type_forwarder<std::is_floating_point, T> {};
547528
@@ -590,9 +571,6 @@ using extent = std::extent<T, I>;
590571template<bool B, class T = void >
591572using enable_if = std::enable_if<B, T>;
592573
593- template<bool B, class T = void >
594- using enable_if_t = typename enable_if<B, T>::type;
595-
596574template<class T>
597575using alignment_of = std::alignment_of<T>;
598576
@@ -614,9 +592,26 @@ using make_unsigned = std::make_unsigned<T>;
614592
615593#endif
616594
595+ // Template Types
596+ template<bool B, class T = void >
597+ using enable_if_t = typename enable_if<B,T>::type;
598+ template<bool C, class T, class F>
599+ using conditional_t = typename conditional<C,T,F>::type;
600+
601+
617602// Template Variables
618603template<typename A, typename B>
619- NBL_CONSTEXPR bool is_same_v = is_same<A,B>::value;
604+ NBL_CONSTEXPR bool is_same_v = is_same<A, B>::value;
605+ template<class T>
606+ NBL_CONSTEXPR bool is_unsigned_v = is_unsigned<T>::value;
607+ template<class T>
608+ NBL_CONSTEXPR bool is_integral_v = is_integral<T>::value;
609+ template<class T>
610+ NBL_CONSTEXPR bool is_signed_v = is_signed<T>::value;
611+ template<class T>
612+ NBL_CONSTEXPR bool is_scalar_v = is_scalar<T>::value;
613+ template<class T>
614+ NBL_CONSTEXPR uint32_t alignment_of_v = alignment_of<T>::value;
620615
621616// Overlapping definitions
622617template<bool C, typename T, T A, T B>
0 commit comments