10
10
# include " _swizzle_func.hpp"
11
11
#endif
12
12
#include < cstddef>
13
+ #include " vec_common_operators.hpp"
13
14
14
15
namespace glm
15
16
{
@@ -104,18 +105,8 @@ namespace glm
104
105
// -- Conversion vector constructors --
105
106
106
107
// / Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
107
- template <typename U, qualifier P>
108
- GLM_CTOR_DECL GLM_EXPLICIT vec (vec<2 , U, P> const & v);
109
- // / Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
110
- template <typename U, qualifier P>
111
- GLM_CTOR_DECL GLM_EXPLICIT vec (vec<3 , U, P> const & v);
112
- // / Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
113
- template <typename U, qualifier P>
114
- GLM_CTOR_DECL GLM_EXPLICIT vec (vec<4 , U, P> const & v);
115
-
116
- // / Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
117
- template <typename U, qualifier P>
118
- GLM_CTOR_DECL GLM_EXPLICIT vec (vec<1 , U, P> const & v);
108
+ template <length_t L,typename U, qualifier P>
109
+ GLM_CTOR_DECL GLM_EXPLICIT vec (vec<L, U, P> const & v);
119
110
120
111
// -- Swizzle constructors --
121
112
/*
@@ -154,8 +145,6 @@ namespace glm
154
145
155
146
GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec<1 , T, Q> & operator ++();
156
147
GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec<1 , T, Q> & operator --();
157
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator ++(int );
158
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator --(int );
159
148
160
149
// -- Unary bit operators --
161
150
@@ -187,9 +176,6 @@ namespace glm
187
176
188
177
// -- Unary operators --
189
178
190
- template <typename T, qualifier Q>
191
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator +(vec<1 , T, Q> const & v);
192
-
193
179
template <typename T, qualifier Q>
194
180
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator -(vec<1 , T, Q> const & v);
195
181
@@ -198,9 +184,6 @@ namespace glm
198
184
template <typename T, qualifier Q>
199
185
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator +(vec<1 , T, Q> const & v, T scalar);
200
186
201
- template <typename T, qualifier Q>
202
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator +(T scalar, vec<1 , T, Q> const & v);
203
-
204
187
template <typename T, qualifier Q>
205
188
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator +(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
206
189
@@ -216,9 +199,6 @@ namespace glm
216
199
template <typename T, qualifier Q>
217
200
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator *(vec<1 , T, Q> const & v, T scalar);
218
201
219
- template <typename T, qualifier Q>
220
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator *(T scalar, vec<1 , T, Q> const & v);
221
-
222
202
template <typename T, qualifier Q>
223
203
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator *(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
224
204
@@ -243,27 +223,18 @@ namespace glm
243
223
template <typename T, qualifier Q>
244
224
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator &(vec<1 , T, Q> const & v, T scalar);
245
225
246
- template <typename T, qualifier Q>
247
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator &(T scalar, vec<1 , T, Q> const & v);
248
-
249
226
template <typename T, qualifier Q>
250
227
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator &(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
251
228
252
229
template <typename T, qualifier Q>
253
230
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator |(vec<1 , T, Q> const & v, T scalar);
254
231
255
- template <typename T, qualifier Q>
256
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator |(T scalar, vec<1 , T, Q> const & v);
257
-
258
232
template <typename T, qualifier Q>
259
233
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator |(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
260
234
261
235
template <typename T, qualifier Q>
262
236
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator ^(vec<1 , T, Q> const & v, T scalar);
263
237
264
- template <typename T, qualifier Q>
265
- GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator ^(T scalar, vec<1 , T, Q> const & v);
266
-
267
238
template <typename T, qualifier Q>
268
239
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , T, Q> operator ^(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
269
240
@@ -293,9 +264,6 @@ namespace glm
293
264
template <typename T, qualifier Q>
294
265
GLM_FUNC_DECL GLM_CONSTEXPR bool operator ==(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
295
266
296
- template <typename T, qualifier Q>
297
- GLM_FUNC_DECL GLM_CONSTEXPR bool operator !=(vec<1 , T, Q> const & v1, vec<1 , T, Q> const & v2);
298
-
299
267
template <qualifier Q>
300
268
GLM_FUNC_DECL GLM_CONSTEXPR vec<1 , bool , Q> operator &&(vec<1 , bool , Q> const & v1, vec<1 , bool , Q> const & v2);
301
269
0 commit comments