Skip to content

Commit c206739

Browse files
authored
Fix calling default constructor by uniform init. (AcademySoftwareFoundation#340)
I fixed calling default constructor in ImathTypeTraits.h by using uniform initialization. Signed-off-by: Yuya Asano <[email protected]>
1 parent 6346a15 commit c206739

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

src/Imath/ImathTypeTraits.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ template <typename T, typename Base> struct has_xy
8585
// Valid only if .x, .y exist and are the right type: return a Yes.
8686
template <
8787
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)>
9090
static Yes& test (int);
9191

9292
// Fallback, default to returning a No.
@@ -113,9 +113,9 @@ template <typename T, typename Base> struct has_xyz
113113
// Valid only if .x, .y, .z exist and are the right type: return a Yes.
114114
template <
115115
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)>
119119
static Yes& test (int);
120120

121121
// Fallback, default to returning a No.
@@ -142,10 +142,10 @@ template <typename T, typename Base> struct has_xyzw
142142
// Valid only if .x, .y, .z, .w exist and are the right type: return a Yes.
143143
template <
144144
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)>
149149
static Yes& test (int);
150150

151151
// Fallback, default to returning a No.
@@ -173,7 +173,7 @@ template <typename T, typename Base, int Nelem> struct has_subscript
173173
template <
174174
typename C,
175175
IMATH_ENABLE_IF (std::is_same<
176-
typename std::decay<decltype (C ()[0])>::type,
176+
typename std::decay<decltype (C {}[0])>::type,
177177
Base>::value)>
178178
static Yes& test (int);
179179

@@ -208,7 +208,7 @@ struct has_double_subscript
208208
template <
209209
typename C,
210210
IMATH_ENABLE_IF (std::is_same<
211-
typename std::decay<decltype (C ()[0][0])>::type,
211+
typename std::decay<decltype (C {}[0][0])>::type,
212212
Base>::value)>
213213
static Yes& test (int);
214214

0 commit comments

Comments
 (0)