@@ -156,10 +156,9 @@ namespace nbl
156156{
157157namespace hlsl
158158{
159-
159+ //
160160namespace impl
161161{
162-
163162template<template<class > class Trait, class T>
164163struct base_type_forwarder : Trait<T> {};
165164
@@ -168,11 +167,14 @@ struct base_type_forwarder<Trait,vector<T,N> > : Trait<T> {};
168167
169168template<template<class > class Trait, class T, uint16_t N, uint16_t M>
170169struct base_type_forwarder<Trait,matrix <T,N,M> > : Trait<T> {};
171-
172170}
173171
174- #ifdef __HLSL_VERSION // HLSL
172+ //
173+ template<class >
174+ struct make_void { using type = void ; };
175+
175176
177+ #ifdef __HLSL_VERSION // HLSL
176178
177179#define decltype (expr) __decltype (expr)
178180
@@ -391,9 +393,6 @@ struct enable_if<true, T> : type_identity<T> {};
391393template<class T>
392394struct alignment_of;
393395
394- template<class >
395- struct make_void { using type = void ; };
396-
397396// reference stuff needed for semantics
398397
399398// not for "human consumption"
@@ -574,9 +573,6 @@ using enable_if = std::enable_if<B, T>;
574573template<class T>
575574using alignment_of = std::alignment_of<T>;
576575
577- template<typename T>
578- using make_void_t = typename make_void<T>::type;
579-
580576template<class T> using remove_const = std::remove_const<T>;
581577template<class T> using remove_volatile = std::remove_volatile<T>;
582578template<class T> using remove_cv = std::remove_cv<T>;
@@ -617,6 +613,9 @@ template<class T>
617613NBL_CONSTEXPR uint32_t alignment_of_v = alignment_of<T>::value;
618614
619615// Overlapping definitions
616+ template<typename T>
617+ using make_void_t = typename make_void<T>::type;
618+
620619template<bool C, typename T, T A, T B>
621620struct conditional_value
622621{
0 commit comments