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