Add manual doc on STL-compatible iterators

This commit is contained in:
Gael Guennebaud 2018-11-12 22:06:33 +01:00
parent 0105146915
commit c81bdbdadc
6 changed files with 46 additions and 51 deletions

View File

@ -56,58 +56,35 @@ namespace Eigen {
/** \defgroup DenseMatrixManipulation_Alignement Alignment issues */
/** \defgroup DenseMatrixManipulation_Reference Reference */
/** \addtogroup TutorialMatrixClass
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialMatrixArithmetic
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialArrayClass
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialBlockOperations
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialSlicingIndexing
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialAdvancedInitialization
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialReductionsVisitorsBroadcasting
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialMapClass
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialReshape
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TopicAliasing
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TopicStorageOrders
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup DenseMatrixManipulation_Alignement
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TopicUnalignedArrayAssert
\ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicFixedSizeVectorizable
\ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicStructHavingEigenMembers
\ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicStlContainers
\ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicPassingByValue
\ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicWrongStackAlignment
\ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup DenseMatrixManipulation_Reference
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup Core_Module
\ingroup DenseMatrixManipulation_Reference */
/** \addtogroup Jacobi_Module
\ingroup DenseMatrixManipulation_Reference */
/** \addtogroup Householder_Module
\ingroup DenseMatrixManipulation_Reference */
/** \addtogroup TutorialMatrixClass \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialMatrixArithmetic \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialArrayClass \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialBlockOperations \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialSlicingIndexing \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialAdvancedInitialization \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialReductionsVisitorsBroadcasting \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialReshape \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialSTL \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TutorialMapClass \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TopicAliasing \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TopicStorageOrders \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup CoeffwiseMathFunctions
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup DenseMatrixManipulation_Alignement \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup TopicUnalignedArrayAssert \ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicFixedSizeVectorizable \ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicStructHavingEigenMembers \ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicStlContainers \ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicPassingByValue \ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup TopicWrongStackAlignment \ingroup DenseMatrixManipulation_Alignement */
/** \addtogroup DenseMatrixManipulation_Reference \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup Core_Module \ingroup DenseMatrixManipulation_Reference */
/** \addtogroup Jacobi_Module \ingroup DenseMatrixManipulation_Reference */
/** \addtogroup Householder_Module \ingroup DenseMatrixManipulation_Reference */
/** \addtogroup QuickRefPage
\ingroup DenseMatrixManipulation_chapter */
/** \addtogroup CoeffwiseMathFunctions \ingroup DenseMatrixManipulation_chapter */
/** \addtogroup QuickRefPage \ingroup DenseMatrixManipulation_chapter */
/** \defgroup DenseLinearSolvers_chapter Dense linear problems and decompositions */

View File

@ -221,7 +221,7 @@ i = ind[i];
\endcode
This means you can easily build your own fancy sequence generator and pass it to `operator()`.
Here is an exemple enlarging a given matrix while padding the first rows and columns through repetition:
Here is an exemple enlarging a given matrix while padding the additional first rows and columns through repetition:
<table class="example">
<tr><th>Example:</th><th>Output:</th></tr>

View File

@ -0,0 +1,4 @@
VectorXi v = VectorXi::Random(4);
cout << "Here is the vector v:\n";
for(auto x : v) cout << x << " ";
cout << "\n";

View File

@ -0,0 +1,5 @@
Matrix2i A = Matrix2i::Random();
cout << "Here are the coeffs of the 2x2 matrix A:\n";
for(auto x : A.reshaped())
cout << x << " ";
cout << "\n";

View File

@ -0,0 +1,4 @@
Array4i v = Array4i::Random().abs();
cout << "Here is the initial vector v:\n" << v.transpose() << "\n";
std::sort(v.begin(), v.end());
cout << "Here is the sorted vector v:\n" << v.transpose() << "\n";

View File

@ -0,0 +1,5 @@
ArrayXXi A = ArrayXXi::Random(4,4).abs();
cout << "Here is the initial matrix A:\n" << A << "\n";
for(auto row : A.rowwise())
std::sort(row.begin(), row.end());
cout << "Here is the sorted matrix A:\n" << A << "\n";