12 #ifndef EIGEN_PARSED_BY_DOXYGEN 15 typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor>
ColXpr;
16 typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor>
ConstColXpr;
18 typedef Block<Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
RowXpr;
19 typedef const Block<const Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
ConstRowXpr;
21 typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime,
Dynamic, !IsRowMajor>
ColsBlockXpr;
24 typedef Block<Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
RowsBlockXpr;
25 typedef const Block<const Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
ConstRowsBlockXpr;
27 template<
int N>
struct NColsBlockXpr {
typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor>
Type; };
28 template<
int N>
struct ConstNColsBlockXpr {
typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor>
Type; };
30 template<
int N>
struct NRowsBlockXpr {
typedef Block<Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
Type; };
31 template<
int N>
struct ConstNRowsBlockXpr {
typedef const Block<const Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
Type; };
38 #endif // not EIGEN_PARSED_BY_DOXYGEN 56 inline Block<Derived>
block(Index startRow, Index startCol, Index blockRows, Index blockCols)
58 return Block<Derived>(derived(), startRow, startCol, blockRows, blockCols);
62 inline const Block<const Derived>
block(Index startRow, Index startCol, Index blockRows, Index blockCols)
const 64 return Block<const Derived>(derived(), startRow, startCol, blockRows, blockCols);
82 return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
86 inline const Block<const Derived>
topRightCorner(Index cRows, Index cCols)
const 88 return Block<const Derived>(derived(), 0, cols() - cCols, cRows, cCols);
101 template<
int CRows,
int CCols>
104 return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
108 template<
int CRows,
int CCols>
111 return Block<const Derived, CRows, CCols>(derived(), 0, cols() - CCols);
131 template<
int CRows,
int CCols>
132 inline Block<Derived, CRows, CCols>
topRightCorner(Index cRows, Index cCols)
134 return Block<Derived, CRows, CCols>(derived(), 0, cols() - cCols, cRows, cCols);
138 template<
int CRows,
int CCols>
139 inline const Block<const Derived, CRows, CCols>
topRightCorner(Index cRows, Index cCols)
const 141 return Block<const Derived, CRows, CCols>(derived(), 0, cols() - cCols, cRows, cCols);
158 return Block<Derived>(derived(), 0, 0, cRows, cCols);
162 inline const Block<const Derived>
topLeftCorner(Index cRows, Index cCols)
const 164 return Block<const Derived>(derived(), 0, 0, cRows, cCols);
176 template<
int CRows,
int CCols>
179 return Block<Derived, CRows, CCols>(derived(), 0, 0);
183 template<
int CRows,
int CCols>
186 return Block<const Derived, CRows, CCols>(derived(), 0, 0);
206 template<
int CRows,
int CCols>
207 inline Block<Derived, CRows, CCols>
topLeftCorner(Index cRows, Index cCols)
209 return Block<Derived, CRows, CCols>(derived(), 0, 0, cRows, cCols);
213 template<
int CRows,
int CCols>
214 inline const Block<const Derived, CRows, CCols>
topLeftCorner(Index cRows, Index cCols)
const 216 return Block<const Derived, CRows, CCols>(derived(), 0, 0, cRows, cCols);
233 return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
237 inline const Block<const Derived>
bottomRightCorner(Index cRows, Index cCols)
const 239 return Block<const Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
251 template<
int CRows,
int CCols>
254 return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
258 template<
int CRows,
int CCols>
261 return Block<const Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
281 template<
int CRows,
int CCols>
284 return Block<Derived, CRows, CCols>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
288 template<
int CRows,
int CCols>
289 inline const Block<const Derived, CRows, CCols>
bottomRightCorner(Index cRows, Index cCols)
const 291 return Block<const Derived, CRows, CCols>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
308 return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
312 inline const Block<const Derived>
bottomLeftCorner(Index cRows, Index cCols)
const 314 return Block<const Derived>(derived(), rows() - cRows, 0, cRows, cCols);
326 template<
int CRows,
int CCols>
329 return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
333 template<
int CRows,
int CCols>
336 return Block<const Derived, CRows, CCols>(derived(), rows() - CRows, 0);
356 template<
int CRows,
int CCols>
357 inline Block<Derived, CRows, CCols>
bottomLeftCorner(Index cRows, Index cCols)
359 return Block<Derived, CRows, CCols>(derived(), rows() - cRows, 0, cRows, cCols);
363 template<
int CRows,
int CCols>
364 inline const Block<const Derived, CRows, CCols>
bottomLeftCorner(Index cRows, Index cCols)
const 366 return Block<const Derived, CRows, CCols>(derived(), rows() - cRows, 0, cRows, cCols);
426 return RowsBlockXpr(derived(), rows() - n, 0, n, cols());
471 return RowsBlockXpr(derived(), startRow, 0, numRows, cols());
560 return ColsBlockXpr(derived(), 0, cols() - n, rows(), n);
605 return ColsBlockXpr(derived(), 0, startCol, rows(), numCols);
655 template<
int BlockRows,
int BlockCols>
656 inline Block<Derived, BlockRows, BlockCols>
block(Index startRow, Index startCol)
658 return Block<Derived, BlockRows, BlockCols>(derived(), startRow, startCol);
662 template<
int BlockRows,
int BlockCols>
663 inline const Block<const Derived, BlockRows, BlockCols>
block(Index startRow, Index startCol)
const 665 return Block<const Derived, BlockRows, BlockCols>(derived(), startRow, startCol);
687 template<
int BlockRows,
int BlockCols>
688 inline Block<Derived, BlockRows, BlockCols>
block(Index startRow, Index startCol,
689 Index blockRows, Index blockCols)
691 return Block<Derived, BlockRows, BlockCols>(derived(), startRow, startCol, blockRows, blockCols);
695 template<
int BlockRows,
int BlockCols>
696 inline const Block<const Derived, BlockRows, BlockCols>
block(Index startRow, Index startCol,
697 Index blockRows, Index blockCols)
const 699 return Block<const Derived, BlockRows, BlockCols>(derived(), startRow, startCol, blockRows, blockCols);
710 return ColXpr(derived(), i);
727 return RowXpr(derived(), i);
789 head(Index vecSize)
const Block< Derived, 1, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > RowXpr
Block< Derived > bottomRightCorner(Index cRows, Index cCols)
VectorBlock< Derived > SegmentReturnType
Block< Derived, internal::traits< Derived >::RowsAtCompileTime, Dynamic,!IsRowMajor > ColsBlockXpr
const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, 1,!IsRowMajor > ConstColXpr
ColsBlockXpr leftCols(Index n)
const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, N,!IsRowMajor > Type
Block< Derived, internal::traits< Derived >::RowsAtCompileTime, 1,!IsRowMajor > ColXpr
SegmentReturnType segment(Index start, Index vecSize)
Block< Derived > block(Index startRow, Index startCol, Index blockRows, Index blockCols)
const Block< const Derived, Dynamic, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > ConstRowsBlockXpr
Block< Derived > topLeftCorner(Index cRows, Index cCols)
RowsBlockXpr bottomRows(Index n)
Block< Derived, Dynamic, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > RowsBlockXpr
ColsBlockXpr middleCols(Index startCol, Index numCols)
Block< Derived, internal::traits< Derived >::RowsAtCompileTime, N,!IsRowMajor > Type
Block< Derived, N, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > Type
SegmentReturnType tail(Index vecSize)
ColsBlockXpr rightCols(Index n)
const Block< const Derived, 1, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > ConstRowXpr
const VectorBlock< const Derived > ConstSegmentReturnType
Block< Derived > bottomLeftCorner(Index cRows, Index cCols)
RowsBlockXpr middleRows(Index startRow, Index numRows)
SegmentReturnType head(Index vecSize)
const VectorBlock< const Derived, Size > Type
VectorBlock< Derived, Size > Type
const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, Dynamic,!IsRowMajor > ConstColsBlockXpr
RowsBlockXpr topRows(Index n)
Block< Derived > topRightCorner(Index cRows, Index cCols)
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
const Block< const Derived, N, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > Type