12 template<
typename T, qualifier Q>
13 struct mat<2, 2, T, Q>
27 typedef length_t length_type;
28 GLM_FUNC_DECL
static GLM_CONSTEXPR length_type length() {
return 2; }
30 GLM_FUNC_DECL col_type & operator[](length_type i);
31 GLM_FUNC_DECL GLM_CONSTEXPR col_type
const& operator[](length_type i)
const;
35 GLM_FUNC_DECL GLM_CONSTEXPR
mat() GLM_DEFAULT;
39 GLM_FUNC_DECL
explicit GLM_CONSTEXPR mat(T scalar);
40 GLM_FUNC_DECL GLM_CONSTEXPR mat(
41 T
const& x1, T
const& y1,
42 T
const& x2, T
const& y2);
43 GLM_FUNC_DECL GLM_CONSTEXPR mat(
49 template<
typename U,
typename V,
typename M,
typename N>
50 GLM_FUNC_DECL GLM_CONSTEXPR mat(
51 U
const& x1, V
const& y1,
52 M
const& x2, N
const& y2);
54 template<
typename U,
typename V>
55 GLM_FUNC_DECL GLM_CONSTEXPR mat(
61 template<
typename U, qualifier P>
104 template<
typename T, qualifier Q>
107 template<
typename T, qualifier Q>
112 template<
typename T, qualifier Q>
115 template<
typename T, qualifier Q>
118 template<
typename T, qualifier Q>
119 GLM_FUNC_DECL
mat<2, 2, T, Q> operator+(
mat<2, 2, T, Q> const& m1,
mat<2, 2, T, Q> const& m2);
121 template<
typename T, qualifier Q>
124 template<
typename T, qualifier Q>
127 template<
typename T, qualifier Q>
128 GLM_FUNC_DECL
mat<2, 2, T, Q> operator-(
mat<2, 2, T, Q> const& m1,
mat<2, 2, T, Q> const& m2);
130 template<
typename T, qualifier Q>
133 template<
typename T, qualifier Q>
136 template<
typename T, qualifier Q>
137 GLM_FUNC_DECL
typename mat<2, 2, T, Q>::col_type operator*(
mat<2, 2, T, Q> const& m,
typename mat<2, 2, T, Q>::row_type const& v);
139 template<
typename T, qualifier Q>
140 GLM_FUNC_DECL
typename mat<2, 2, T, Q>::row_type operator*(
typename mat<2, 2, T, Q>::col_type const& v,
mat<2, 2, T, Q> const& m);
142 template<
typename T, qualifier Q>
143 GLM_FUNC_DECL
mat<2, 2, T, Q> operator*(
mat<2, 2, T, Q> const& m1,
mat<2, 2, T, Q> const& m2);
145 template<
typename T, qualifier Q>
146 GLM_FUNC_DECL
mat<3, 2, T, Q> operator*(
mat<2, 2, T, Q> const& m1,
mat<3, 2, T, Q> const& m2);
148 template<
typename T, qualifier Q>
149 GLM_FUNC_DECL
mat<4, 2, T, Q> operator*(
mat<2, 2, T, Q> const& m1,
mat<4, 2, T, Q> const& m2);
151 template<
typename T, qualifier Q>
154 template<
typename T, qualifier Q>
157 template<
typename T, qualifier Q>
158 GLM_FUNC_DECL
typename mat<2, 2, T, Q>::col_type operator/(
mat<2, 2, T, Q> const& m,
typename mat<2, 2, T, Q>::row_type const& v);
160 template<
typename T, qualifier Q>
161 GLM_FUNC_DECL
typename mat<2, 2, T, Q>::row_type operator/(
typename mat<2, 2, T, Q>::col_type const& v,
mat<2, 2, T, Q> const& m);
163 template<
typename T, qualifier Q>
164 GLM_FUNC_DECL
mat<2, 2, T, Q> operator/(
mat<2, 2, T, Q> const& m1,
mat<2, 2, T, Q> const& m2);
168 template<
typename T, qualifier Q>
171 template<
typename T, qualifier Q>
175 #ifndef GLM_EXTERNAL_TEMPLATE 176 #include "type_mat2x2.inl" Definition: type_vec2.hpp:17
Definition: qualifier.hpp:35
Core features
Definition: common.hpp:20
Definition: type_mat2x3.hpp:14
Definition: type_mat4x3.hpp:14
Definition: type_mat3x3.hpp:13
Definition: type_mat2x2.hpp:13
Definition: type_mat4x2.hpp:14
Definition: type_mat3x2.hpp:14
Definition: qualifier.hpp:36
Definition: type_mat2x4.hpp:14
Definition: type_mat4x4.hpp:13
Definition: type_mat3x4.hpp:14