@@ -156,10 +156,9 @@ namespace nbl
156
156
{
157
157
namespace hlsl
158
158
{
159
-
159
+ //
160
160
namespace impl
161
161
{
162
-
163
162
template<template<class > class Trait, class T>
164
163
struct base_type_forwarder : Trait<T> {};
165
164
@@ -168,11 +167,14 @@ struct base_type_forwarder<Trait,vector<T,N> > : Trait<T> {};
168
167
169
168
template<template<class > class Trait, class T, uint16_t N, uint16_t M>
170
169
struct base_type_forwarder<Trait,matrix <T,N,M> > : Trait<T> {};
171
-
172
170
}
173
171
174
- #ifdef __HLSL_VERSION // HLSL
172
+ //
173
+ template<class >
174
+ struct make_void { using type = void ; };
175
+
175
176
177
+ #ifdef __HLSL_VERSION // HLSL
176
178
177
179
#define decltype (expr) __decltype (expr)
178
180
@@ -391,9 +393,6 @@ struct enable_if<true, T> : type_identity<T> {};
391
393
template<class T>
392
394
struct alignment_of;
393
395
394
- template<class >
395
- struct make_void { using type = void ; };
396
-
397
396
// reference stuff needed for semantics
398
397
399
398
// not for "human consumption"
@@ -574,9 +573,6 @@ using enable_if = std::enable_if<B, T>;
574
573
template<class T>
575
574
using alignment_of = std::alignment_of<T>;
576
575
577
- template<typename T>
578
- using make_void_t = typename make_void<T>::type;
579
-
580
576
template<class T> using remove_const = std::remove_const<T>;
581
577
template<class T> using remove_volatile = std::remove_volatile<T>;
582
578
template<class T> using remove_cv = std::remove_cv<T>;
@@ -617,6 +613,9 @@ template<class T>
617
613
NBL_CONSTEXPR uint32_t alignment_of_v = alignment_of<T>::value;
618
614
619
615
// Overlapping definitions
616
+ template<typename T>
617
+ using make_void_t = typename make_void<T>::type;
618
+
620
619
template<bool C, typename T, T A, T B>
621
620
struct conditional_value
622
621
{
0 commit comments