11 #ifndef EIGEN_PARSED_BY_DOXYGEN
14 typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> ColXpr;
15 typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> ConstColXpr;
17 typedef Block<Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> RowXpr;
18 typedef const Block<const Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> ConstRowXpr;
20 typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime,
Dynamic, !IsRowMajor> ColsBlockXpr;
21 typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime,
Dynamic, !IsRowMajor> ConstColsBlockXpr;
23 typedef Block<Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> RowsBlockXpr;
24 typedef const Block<const Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> ConstRowsBlockXpr;
26 template<
int N>
struct NColsBlockXpr {
typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor>
Type; };
27 template<
int N>
struct ConstNColsBlockXpr {
typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor>
Type; };
29 template<
int N>
struct NRowsBlockXpr {
typedef Block<Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
Type; };
30 template<
int N>
struct ConstNRowsBlockXpr {
typedef const Block<const Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor>
Type; };
32 typedef Block<Derived> BlockXpr;
33 typedef const Block<const Derived> ConstBlockXpr;
35 template<
int Rows,
int Cols>
struct FixedBlockXpr {
typedef Block<Derived,Rows,Cols>
Type; };
36 template<
int Rows,
int Cols>
struct ConstFixedBlockXpr {
typedef Block<const Derived,Rows,Cols>
Type; };
38 typedef VectorBlock<Derived> SegmentReturnType;
39 typedef const VectorBlock<const Derived> ConstSegmentReturnType;
40 template<
int Size>
struct FixedSegmentReturnType {
typedef VectorBlock<Derived, Size>
Type; };
41 template<
int Size>
struct ConstFixedSegmentReturnType {
typedef const VectorBlock<const Derived, Size>
Type; };
44 typedef Block<Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> InnerVectorReturnType;
45 typedef Block<const Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> ConstInnerVectorReturnType;
48 typedef Block<Derived,Dynamic,Dynamic,true> InnerVectorsReturnType;
49 typedef Block<const Derived,Dynamic,Dynamic,true> ConstInnerVectorsReturnType;
89 template<
typename NRowsType,
typename NColsType>
91 #ifndef EIGEN_PARSED_BY_DOXYGEN
92 typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
94 typename FixedBlockXpr<...,...>
::Type
98 return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type(
103 template<
typename NRowsType,
typename NColsType>
105 #ifndef EIGEN_PARSED_BY_DOXYGEN
106 const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
108 const typename ConstFixedBlockXpr<...,...>
::Type
112 return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type(
135 template<
typename NRowsType,
typename NColsType>
137 #ifndef EIGEN_PARSED_BY_DOXYGEN
138 typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
140 typename FixedBlockXpr<...,...>
::Type
144 return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
149 template<
typename NRowsType,
typename NColsType>
151 #ifndef EIGEN_PARSED_BY_DOXYGEN
152 const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
154 const typename ConstFixedBlockXpr<...,...>
::Type
158 return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
174 template<
int CRows,
int CCols>
182 template<
int CRows,
int CCols>
208 template<
int CRows,
int CCols>
216 template<
int CRows,
int CCols>
242 template<
typename NRowsType,
typename NColsType>
244 #ifndef EIGEN_PARSED_BY_DOXYGEN
245 typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
247 typename FixedBlockXpr<...,...>
::Type
251 return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
256 template<
typename NRowsType,
typename NColsType>
258 #ifndef EIGEN_PARSED_BY_DOXYGEN
259 const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
261 const typename ConstFixedBlockXpr<...,...>
::Type
265 return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
280 template<
int CRows,
int CCols>
288 template<
int CRows,
int CCols>
314 template<
int CRows,
int CCols>
322 template<
int CRows,
int CCols>
348 template<
typename NRowsType,
typename NColsType>
350 #ifndef EIGEN_PARSED_BY_DOXYGEN
351 typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
353 typename FixedBlockXpr<...,...>
::Type
357 return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
363 template<
typename NRowsType,
typename NColsType>
365 #ifndef EIGEN_PARSED_BY_DOXYGEN
366 const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
368 const typename ConstFixedBlockXpr<...,...>
::Type
372 return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
388 template<
int CRows,
int CCols>
396 template<
int CRows,
int CCols>
422 template<
int CRows,
int CCols>
430 template<
int CRows,
int CCols>
456 template<
typename NRowsType,
typename NColsType>
458 #ifndef EIGEN_PARSED_BY_DOXYGEN
459 typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
461 typename FixedBlockXpr<...,...>
::Type
465 return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
471 template<
typename NRowsType,
typename NColsType>
473 #ifndef EIGEN_PARSED_BY_DOXYGEN
474 typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
476 typename ConstFixedBlockXpr<...,...>
::Type
480 return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>
::Type
496 template<
int CRows,
int CCols>
504 template<
int CRows,
int CCols>
530 template<
int CRows,
int CCols>
538 template<
int CRows,
int CCols>
563 template<
typename NRowsType>
565 #ifndef EIGEN_PARSED_BY_DOXYGEN
566 typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
568 typename NRowsBlockXpr<...>
::Type
572 return typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
577 template<
typename NRowsType>
579 #ifndef EIGEN_PARSED_BY_DOXYGEN
580 const typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
582 const typename ConstNRowsBlockXpr<...>
::Type
586 return typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
638 template<
typename NRowsType>
640 #ifndef EIGEN_PARSED_BY_DOXYGEN
641 typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
643 typename NRowsBlockXpr<...>
::Type
647 return typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
652 template<
typename NRowsType>
654 #ifndef EIGEN_PARSED_BY_DOXYGEN
655 const typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
657 const typename ConstNRowsBlockXpr<...>
::Type
661 return typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
714 template<
typename NRowsType>
716 #ifndef EIGEN_PARSED_BY_DOXYGEN
717 typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
719 typename NRowsBlockXpr<...>
::Type
723 return typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
728 template<
typename NRowsType>
730 #ifndef EIGEN_PARSED_BY_DOXYGEN
731 const typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
733 const typename ConstNRowsBlockXpr<...>
::Type
737 return typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>
::Type
790 template<
typename NColsType>
792 #ifndef EIGEN_PARSED_BY_DOXYGEN
793 typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
795 typename NColsBlockXpr<...>
::Type
799 return typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
804 template<
typename NColsType>
806 #ifndef EIGEN_PARSED_BY_DOXYGEN
807 const typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
809 const typename ConstNColsBlockXpr<...>
::Type
813 return typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
865 template<
typename NColsType>
867 #ifndef EIGEN_PARSED_BY_DOXYGEN
868 typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
870 typename NColsBlockXpr<...>
::Type
874 return typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
879 template<
typename NColsType>
881 #ifndef EIGEN_PARSED_BY_DOXYGEN
882 const typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
884 const typename ConstNColsBlockXpr<...>
::Type
888 return typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
941 template<
typename NColsType>
943 #ifndef EIGEN_PARSED_BY_DOXYGEN
944 typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
946 typename NColsBlockXpr<...>
::Type
950 return typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
955 template<
typename NColsType>
957 #ifndef EIGEN_PARSED_BY_DOXYGEN
958 const typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
960 const typename ConstNColsBlockXpr<...>
::Type
964 return typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>
::Type
1025 template<
int NRows,
int NCols>
1033 template<
int NRows,
int NCols>
1071 template<
int NRows,
int NCols>
1080 template<
int NRows,
int NCols>
1099 return ColXpr(derived(),
i);
1106 return ConstColXpr(derived(),
i);
1120 return RowXpr(derived(),
i);
1127 return ConstRowXpr(derived(),
i);
1151 template<
typename NType>
1153 #ifndef EIGEN_PARSED_BY_DOXYGEN
1154 typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1156 typename FixedSegmentReturnType<...>
::Type
1161 return typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1167 template<
typename NType>
1169 #ifndef EIGEN_PARSED_BY_DOXYGEN
1170 const typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1172 const typename ConstFixedSegmentReturnType<...>
::Type
1177 return typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1201 template<
typename NType>
1203 #ifndef EIGEN_PARSED_BY_DOXYGEN
1204 typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1206 typename FixedSegmentReturnType<...>
::Type
1211 return typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1216 template<
typename NType>
1218 #ifndef EIGEN_PARSED_BY_DOXYGEN
1219 const typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1221 const typename ConstFixedSegmentReturnType<...>
::Type
1226 return typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1250 template<
typename NType>
1252 #ifndef EIGEN_PARSED_BY_DOXYGEN
1253 typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1255 typename FixedSegmentReturnType<...>
::Type
1260 return typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1265 template<
typename NType>
1267 #ifndef EIGEN_PARSED_BY_DOXYGEN
1268 const typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1270 const typename ConstFixedSegmentReturnType<...>
::Type
1275 return typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>
::Type
1381 {
return InnerVectorReturnType(derived(), outer); }
1388 {
return ConstInnerVectorReturnType(derived(), outer); }
1394 InnerVectorsReturnType
1397 return Block<Derived,Dynamic,Dynamic,true>(derived(),
1398 IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
1399 IsRowMajor ? outerSize :
rows(), IsRowMajor ?
cols() : outerSize);
1407 const ConstInnerVectorsReturnType
1410 return Block<const Derived,Dynamic,Dynamic,true>(derived(),
1411 IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
1412 IsRowMajor ? outerSize :
rows(), IsRowMajor ?
cols() : outerSize);
1419 template<DirectionType Direction>
1421 std::conditional_t<Direction==Vertical,ColXpr,RowXpr>
1424 return std::conditional_t<Direction==Vertical,ColXpr,RowXpr>(derived(),
i);
1428 template<DirectionType Direction>
1430 std::conditional_t<Direction==Vertical,ConstColXpr,ConstRowXpr>
1433 return std::conditional_t<Direction==Vertical,ConstColXpr,ConstRowXpr>(derived(),
i);
1439 template<DirectionType Direction>
EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL FixedBlockXpr<...,... >::Type block(Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL FixedBlockXpr<...,... >::Type topLeftCorner(NRowsType cRows, NColsType cCols)
InnerVectorsReturnType innerVectors(Index outerStart, Index outerSize)
NRowsBlockXpr<... >::Type topRows(NRowsType n)
NRowsBlockXpr<... >::Type middleRows(Index startRow, NRowsType n)
EIGEN_CONSTEXPR Index subVectors() const
FixedSegmentReturnType<... >::Type head(NType n)
RowXpr row(Index i)
This is the const version of row(). */.
EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL FixedBlockXpr<...,... >::Type bottomRightCorner(NRowsType cRows, NColsType cCols)
NColsBlockXpr<... >::Type leftCols(NColsType n)
ColXpr col(Index i)
This is the const version of col().
NColsBlockXpr<... >::Type middleCols(Index startCol, NColsType numCols)
InnerVectorReturnType innerVector(Index outer)
FixedSegmentReturnType<... >::Type segment(Index start, NType n)
NColsBlockXpr<... >::Type rightCols(NColsType n)
std::conditional_t< Direction==Vertical, ColXpr, RowXpr > subVector(Index i)
NRowsBlockXpr<... >::Type bottomRows(NRowsType n)
EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL FixedBlockXpr<...,... >::Type topRightCorner(NRowsType cRows, NColsType cCols)
EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL FixedBlockXpr<...,... >::Type bottomLeftCorner(NRowsType cRows, NColsType cCols)
FixedSegmentReturnType<... >::Type tail(NType n)
#define EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(COND)
#define EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
#define EIGEN_DEVICE_FUNC
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Index get_runtime_value(const T &x)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.