@@ -85,8 +85,8 @@ template <typename T, typename Base> struct has_xy
85
85
// Valid only if .x, .y exist and are the right type: return a Yes.
86
86
template <
87
87
typename C,
88
- IMATH_ENABLE_IF (std::is_same<decltype (C () .x), Base>::value),
89
- IMATH_ENABLE_IF (std::is_same<decltype (C () .y), Base>::value)>
88
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .x), Base>::value),
89
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .y), Base>::value)>
90
90
static Yes& test (int );
91
91
92
92
// Fallback, default to returning a No.
@@ -113,9 +113,9 @@ template <typename T, typename Base> struct has_xyz
113
113
// Valid only if .x, .y, .z exist and are the right type: return a Yes.
114
114
template <
115
115
typename C,
116
- IMATH_ENABLE_IF (std::is_same<decltype (C () .x), Base>::value),
117
- IMATH_ENABLE_IF (std::is_same<decltype (C () .y), Base>::value),
118
- IMATH_ENABLE_IF (std::is_same<decltype (C () .z), Base>::value)>
116
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .x), Base>::value),
117
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .y), Base>::value),
118
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .z), Base>::value)>
119
119
static Yes& test (int );
120
120
121
121
// Fallback, default to returning a No.
@@ -142,10 +142,10 @@ template <typename T, typename Base> struct has_xyzw
142
142
// Valid only if .x, .y, .z, .w exist and are the right type: return a Yes.
143
143
template <
144
144
typename C,
145
- IMATH_ENABLE_IF (std::is_same<decltype (C () .x), Base>::value),
146
- IMATH_ENABLE_IF (std::is_same<decltype (C () .y), Base>::value),
147
- IMATH_ENABLE_IF (std::is_same<decltype (C () .z), Base>::value),
148
- IMATH_ENABLE_IF (std::is_same<decltype (C () .w), Base>::value)>
145
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .x), Base>::value),
146
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .y), Base>::value),
147
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .z), Base>::value),
148
+ IMATH_ENABLE_IF (std::is_same<decltype (C {} .w), Base>::value)>
149
149
static Yes& test (int );
150
150
151
151
// Fallback, default to returning a No.
@@ -173,7 +173,7 @@ template <typename T, typename Base, int Nelem> struct has_subscript
173
173
template <
174
174
typename C,
175
175
IMATH_ENABLE_IF (std::is_same<
176
- typename std::decay<decltype (C () [0 ])>::type,
176
+ typename std::decay<decltype (C {} [0 ])>::type,
177
177
Base>::value)>
178
178
static Yes& test (int );
179
179
@@ -208,7 +208,7 @@ struct has_double_subscript
208
208
template <
209
209
typename C,
210
210
IMATH_ENABLE_IF (std::is_same<
211
- typename std::decay<decltype (C () [0 ][0 ])>::type,
211
+ typename std::decay<decltype (C {} [0 ][0 ])>::type,
212
212
Base>::value)>
213
213
static Yes& test (int );
214
214
0 commit comments