From 42be860f735a96616a257684c97adc0b175cd95d Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 4 Feb 2023 10:35:42 -0800 Subject: [PATCH] Use c++17 in examples --- examples/ISAM2Example_SmartFactor.cpp | 5 ++--- examples/Pose3Localization.cpp | 4 ++-- examples/SFMExampleExpressions_bal.cpp | 4 +--- examples/SFMExample_bal.cpp | 4 +--- examples/SFMExample_bal_COLAMD_METIS.cpp | 4 +--- examples/SolverComparer.cpp | 6 +++--- 6 files changed, 10 insertions(+), 17 deletions(-) diff --git a/examples/ISAM2Example_SmartFactor.cpp b/examples/ISAM2Example_SmartFactor.cpp index a874efc9a..51503e34e 100644 --- a/examples/ISAM2Example_SmartFactor.cpp +++ b/examples/ISAM2Example_SmartFactor.cpp @@ -87,9 +87,8 @@ int main(int argc, char* argv[]) { result.print(); cout << "Detailed results:" << endl; - for (auto keyedStatus : result.detail->variableStatus) { - const auto& status = keyedStatus.second; - PrintKey(keyedStatus.first); + for (auto& [key, status] : result.detail->variableStatus) { + PrintKey(key); cout << " {" << endl; cout << "reeliminated: " << status.isReeliminated << endl; cout << "relinearized above thresh: " << status.isAboveRelinThreshold diff --git a/examples/Pose3Localization.cpp b/examples/Pose3Localization.cpp index 4fb200faf..e23e6902a 100644 --- a/examples/Pose3Localization.cpp +++ b/examples/Pose3Localization.cpp @@ -74,8 +74,8 @@ int main(const int argc, const char* argv[]) { // Calculate and print marginal covariances for all variables Marginals marginals(*graph, result); - for (const auto& key_pose : result.extract()) { - std::cout << marginals.marginalCovariance(key_pose.first) << endl; + for (const auto& [key, pose] : result.extract()) { + std::cout << marginals.marginalCovariance(key) << endl; } return 0; } diff --git a/examples/SFMExampleExpressions_bal.cpp b/examples/SFMExampleExpressions_bal.cpp index 8a5a12e56..edd46b5e2 100644 --- a/examples/SFMExampleExpressions_bal.cpp +++ b/examples/SFMExampleExpressions_bal.cpp @@ -79,9 +79,7 @@ int main(int argc, char* argv[]) { for (const SfmTrack& track : mydata.tracks) { // Leaf expression for j^th point Point3_ point_('p', j); - for (const SfmMeasurement& m : track.measurements) { - size_t i = m.first; - Point2 uv = m.second; + for (const auto& [i, uv] : track.measurements) { // Leaf expression for i^th camera Expression camera_(C(i)); // Below an expression for the prediction of the measurement: diff --git a/examples/SFMExample_bal.cpp b/examples/SFMExample_bal.cpp index 10563760d..3edf1f89b 100644 --- a/examples/SFMExample_bal.cpp +++ b/examples/SFMExample_bal.cpp @@ -57,9 +57,7 @@ int main (int argc, char* argv[]) { // Add measurements to the factor graph size_t j = 0; for(const SfmTrack& track: mydata.tracks) { - for(const SfmMeasurement& m: track.measurements) { - size_t i = m.first; - Point2 uv = m.second; + for (const auto& [i, uv] : track.measurements) { graph.emplace_shared(uv, noise, C(i), P(j)); // note use of shorthand symbols C and P } j += 1; diff --git a/examples/SFMExample_bal_COLAMD_METIS.cpp b/examples/SFMExample_bal_COLAMD_METIS.cpp index 92d779a56..5134285c7 100644 --- a/examples/SFMExample_bal_COLAMD_METIS.cpp +++ b/examples/SFMExample_bal_COLAMD_METIS.cpp @@ -59,9 +59,7 @@ int main(int argc, char* argv[]) { // Add measurements to the factor graph size_t j = 0; for (const SfmTrack& track : mydata.tracks) { - for (const SfmMeasurement& m : track.measurements) { - size_t i = m.first; - Point2 uv = m.second; + for (const auto& [i, uv] : track.measurements) { graph.emplace_shared( uv, noise, C(i), P(j)); // note use of shorthand symbols C and P } diff --git a/examples/SolverComparer.cpp b/examples/SolverComparer.cpp index 34b30c10a..7e451ca99 100644 --- a/examples/SolverComparer.cpp +++ b/examples/SolverComparer.cpp @@ -557,12 +557,12 @@ void runPerturb() // Perturb values VectorValues noise; - for(const auto& key_dim: initial.dims()) + for(const auto& [key, dim]: initial.dims()) { - Vector noisev(key_dim.second); + Vector noisev(dim); for(Vector::Index i = 0; i < noisev.size(); ++i) noisev(i) = normal(rng); - noise.insert(key_dim.first, noisev); + noise.insert(key, noisev); } Values perturbed = initial.retract(noise);