Skip to content

Commit

Permalink
[unittest] Test returning reference of std::pair
Browse files Browse the repository at this point in the history
  • Loading branch information
ManifoldFR committed Sep 19, 2024
1 parent 694d996 commit 4684095
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

### Added

- Add test returning reference of std::pair ([#503](https://github.com/stack-of-tasks/eigenpy/pull/503))
- Add more general visitor `GenericMapPythonVisitor` for map types test `boost::unordered_map<std::string, int>` ([#504](https://github.com/stack-of-tasks/eigenpy/pull/504))
- Support for non-[default-contructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible) types in map types ([#504](https://github.com/stack-of-tasks/eigenpy/pull/504))
- Add type_info helpers ([#502](https://github.com/stack-of-tasks/eigenpy/pull/502))
Expand Down
3 changes: 2 additions & 1 deletion unittest/python/test_std_pair.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from std_pair import copy, std_pair_to_tuple
from std_pair import copy, passthrough, std_pair_to_tuple

t = (1, 2.0)
assert std_pair_to_tuple(t) == t
assert copy(t) == t
assert passthrough(t) == t
8 changes: 7 additions & 1 deletion unittest/std_pair.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#include <eigenpy/eigenpy.hpp>
#include <eigenpy/std-pair.hpp>
#include <iostream>

namespace bp = boost::python;

Expand All @@ -17,6 +16,11 @@ std::pair<T1, T2> copy(const std::pair<T1, T2>& pair) {
return pair;
}

template <typename T1, typename T2>
const std::pair<T1, T2>& passthrough(const std::pair<T1, T2>& pair) {
return pair;
}

BOOST_PYTHON_MODULE(std_pair) {
eigenpy::enableEigenPy();

Expand All @@ -25,4 +29,6 @@ BOOST_PYTHON_MODULE(std_pair) {

bp::def("std_pair_to_tuple", std_pair_to_tuple<int, double>);
bp::def("copy", copy<int, double>);
bp::def("passthrough", passthrough<int, double>,
bp::return_value_policy<bp::copy_const_reference>());
}

0 comments on commit 4684095

Please sign in to comment.