Lines Matching refs:MatrixType
21 * \param MatrixType the type of the object of which we are taking the transpose
31 template<typename MatrixType>
32 struct traits<Transpose<MatrixType> > : traits<MatrixType>
34 typedef typename MatrixType::Scalar Scalar;
35 typedef typename nested<MatrixType>::type MatrixTypeNested;
37 typedef typename traits<MatrixType>::StorageKind StorageKind;
38 typedef typename traits<MatrixType>::XprKind XprKind;
40 RowsAtCompileTime = MatrixType::ColsAtCompileTime,
41 ColsAtCompileTime = MatrixType::RowsAtCompileTime,
42 MaxRowsAtCompileTime = MatrixType::MaxColsAtCompileTime,
43 MaxColsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
44 FlagsLvalueBit = is_lvalue<MatrixType>::value ? LvalueBit : 0,
49 InnerStrideAtCompileTime = inner_stride_at_compile_time<MatrixType>::ret,
50 OuterStrideAtCompileTime = outer_stride_at_compile_time<MatrixType>::ret
55 template<typename MatrixType, typename StorageKind> class TransposeImpl;
57 template<typename MatrixType> class Transpose
58 : public TransposeImpl<MatrixType,typename internal::traits<MatrixType>::StorageKind>
62 typedef typename TransposeImpl<MatrixType,typename internal::traits<MatrixType>::StorageKind>::Base Base;
65 inline Transpose(MatrixType& matrix) : m_matrix(matrix) {}
73 const typename internal::remove_all<typename MatrixType::Nested>::type&
77 typename internal::remove_all<typename MatrixType::Nested>::type&
81 typename MatrixType::Nested m_matrix;
86 template<typename MatrixType, bool HasDirectAccess = has_direct_access<MatrixType>::ret>
89 typedef typename dense_xpr_base<Transpose<MatrixType> >::type type;
92 template<typename MatrixType>
93 struct TransposeImpl_base<MatrixType, false>
95 typedef typename dense_xpr_base<Transpose<MatrixType> >::type type;
100 template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
101 : public internal::TransposeImpl_base<MatrixType>::type
105 typedef typename internal::TransposeImpl_base<MatrixType>::type Base;
106 EIGEN_DENSE_PUBLIC_INTERFACE(Transpose<MatrixType>)
112 internal::is_lvalue<MatrixType>::value,
122 EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
128 EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
248 template<typename MatrixType,
249 bool IsSquare = (MatrixType::RowsAtCompileTime == MatrixType::ColsAtCompileTime) && MatrixType::RowsAtCompileTime!=Dynamic>
252 template<typename MatrixType>
253 struct inplace_transpose_selector<MatrixType,true> { // square matrix
254 static void run(MatrixType& m) {
259 template<typename MatrixType>
260 struct inplace_transpose_selector<MatrixType,false> { // non square matrix
261 static void run(MatrixType& m) {