Merged in fix/ValuesfromConstFiltered (pull request #40)
Values constructor from ConstFilteredrelease/4.3a0
commit
f63dd4d6f3
|
@ -215,7 +215,7 @@ namespace gtsam {
|
||||||
Values::Values(const Values::ConstFiltered<ValueType>& view) {
|
Values::Values(const Values::ConstFiltered<ValueType>& view) {
|
||||||
BOOST_FOREACH(const typename ConstFiltered<ValueType>::KeyValuePair& key_value, view) {
|
BOOST_FOREACH(const typename ConstFiltered<ValueType>::KeyValuePair& key_value, view) {
|
||||||
Key key = key_value.key;
|
Key key = key_value.key;
|
||||||
insert<ValueType>(key, key_value.value);
|
insert(key, static_cast<const ValueType&>(key_value.value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -383,6 +383,12 @@ TEST(Values, filter) {
|
||||||
expectedSubValues1.insert(3, pose3);
|
expectedSubValues1.insert(3, pose3);
|
||||||
EXPECT(assert_equal(expectedSubValues1, actualSubValues1));
|
EXPECT(assert_equal(expectedSubValues1, actualSubValues1));
|
||||||
|
|
||||||
|
// ConstFilter by Key
|
||||||
|
Values::ConstFiltered<Value> constfiltered = values.filter(boost::bind(std::greater_equal<Key>(), _1, 2));
|
||||||
|
EXPECT_LONGS_EQUAL(2, (long)constfiltered.size());
|
||||||
|
Values fromconstfiltered(constfiltered);
|
||||||
|
EXPECT(assert_equal(expectedSubValues1, fromconstfiltered));
|
||||||
|
|
||||||
// Filter by type
|
// Filter by type
|
||||||
i = 0;
|
i = 0;
|
||||||
Values::ConstFiltered<Pose3> pose_filtered = values.filter<Pose3>();
|
Values::ConstFiltered<Pose3> pose_filtered = values.filter<Pose3>();
|
||||||
|
|
Loading…
Reference in New Issue