21 explicit QGenericMatrix(Qt::Initialization) {}
22 explicit QGenericMatrix(
const T *values);
24 const T& operator()(
int row,
int column)
const;
25 T& operator()(
int row,
int column);
27 bool isIdentity()
const;
32 [[nodiscard]] QGenericMatrix<M, N, T> transposed()
const;
34 QGenericMatrix<N, M, T>& operator+=(
const QGenericMatrix<N, M, T>& other);
35 QGenericMatrix<N, M, T>& operator-=(
const QGenericMatrix<N, M, T>& other);
36 QGenericMatrix<N, M, T>& operator*=(T factor);
37 QGenericMatrix<N, M, T>& operator/=(T divisor);
38 bool operator==(
const QGenericMatrix<N, M, T>& other)
const;
39 bool operator!=(
const QGenericMatrix<N, M, T>& other)
const;
41 void copyDataTo(T *values)
const;
43 T *data() {
return *m; }
44 const T *data()
const {
return *m; }
45 const T *constData()
const {
return *m; }
47 template<
int NN,
int MM,
typename TT>
48 friend QGenericMatrix<NN, MM, TT> operator+(
const QGenericMatrix<NN, MM, TT>& m1,
const QGenericMatrix<NN, MM, TT>& m2);
49 template<
int NN,
int MM,
typename TT>
50 friend QGenericMatrix<NN, MM, TT> operator-(
const QGenericMatrix<NN, MM, TT>& m1,
const QGenericMatrix<NN, MM, TT>& m2);
51 template<
int NN,
int M1,
int M2,
typename TT>
52 friend QGenericMatrix<M1, M2, TT> operator*(
const QGenericMatrix<NN, M2, TT>& m1,
const QGenericMatrix<M1, NN, TT>& m2);
53 template<
int NN,
int MM,
typename TT>
54 friend QGenericMatrix<NN, MM, TT> operator-(
const QGenericMatrix<NN, MM, TT>& matrix);
55 template<
int NN,
int MM,
typename TT>
56 friend QGenericMatrix<NN, MM, TT> operator*(TT factor,
const QGenericMatrix<NN, MM, TT>& matrix);
57 template<
int NN,
int MM,
typename TT>
58 friend QGenericMatrix<NN, MM, TT> operator*(
const QGenericMatrix<NN, MM, TT>& matrix, TT factor);
59 template<
int NN,
int MM,
typename TT>
60 friend QGenericMatrix<NN, MM, TT> operator/(
const QGenericMatrix<NN, MM, TT>& matrix, TT divisor);
65 template <
int NN,
int MM,
typename TT>
66 friend class QGenericMatrix;