From 86f19362abbf55dd8658d34b43a6f8b484860785 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Sat, 30 Jun 2012 22:32:46 +0000 Subject: [PATCH] Return FastSet instead of std::set from NonlinearFactorGraph::keys() --- gtsam/nonlinear/NonlinearFactorGraph.cpp | 4 ++-- gtsam/nonlinear/NonlinearFactorGraph.h | 2 +- tests/testNonlinearFactorGraph.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gtsam/nonlinear/NonlinearFactorGraph.cpp b/gtsam/nonlinear/NonlinearFactorGraph.cpp index 8c4076c56..969e40677 100644 --- a/gtsam/nonlinear/NonlinearFactorGraph.cpp +++ b/gtsam/nonlinear/NonlinearFactorGraph.cpp @@ -54,8 +54,8 @@ double NonlinearFactorGraph::error(const Values& c) const { } /* ************************************************************************* */ -std::set NonlinearFactorGraph::keys() const { - std::set keys; +FastSet NonlinearFactorGraph::keys() const { + FastSet keys; BOOST_FOREACH(const sharedFactor& factor, this->factors_) { if(factor) keys.insert(factor->begin(), factor->end()); diff --git a/gtsam/nonlinear/NonlinearFactorGraph.h b/gtsam/nonlinear/NonlinearFactorGraph.h index 1742c7b78..85cc0e63f 100644 --- a/gtsam/nonlinear/NonlinearFactorGraph.h +++ b/gtsam/nonlinear/NonlinearFactorGraph.h @@ -47,7 +47,7 @@ namespace gtsam { void print(const std::string& str = "NonlinearFactorGraph: ", const KeyFormatter& keyFormatter = DefaultKeyFormatter) const; /** return keys as an ordered set - ordering is by key value */ - std::set keys() const; + FastSet keys() const; /** unnormalized error, \f$ 0.5 \sum_i (h_i(X_i)-z)^2/\sigma^2 \f$ in the most common case */ double error(const Values& c) const; diff --git a/tests/testNonlinearFactorGraph.cpp b/tests/testNonlinearFactorGraph.cpp index f44113f93..f677eb0dc 100644 --- a/tests/testNonlinearFactorGraph.cpp +++ b/tests/testNonlinearFactorGraph.cpp @@ -65,9 +65,9 @@ TEST( Graph, error ) TEST( Graph, keys ) { Graph fg = createNonlinearFactorGraph(); - set actual = fg.keys(); + FastSet actual = fg.keys(); LONGS_EQUAL(3, actual.size()); - set::const_iterator it = actual.begin(); + FastSet::const_iterator it = actual.begin(); LONGS_EQUAL(L(1), *(it++)); LONGS_EQUAL(X(1), *(it++)); LONGS_EQUAL(X(2), *(it++));