proxsuite-nlp v0.8.0
This version introduces an API-breaking change: constraints and manifolds are now managed using the polymorphic value type xyz::polymorphic<class T, class A>
container from jboe. This container implements some kind of type erasure method to function and give us something that behaves like a value and a pointer to a polymorphic base type at the same time.
This change might not be the last iteration. We still have an OOP class hierarchy for the manifolds and constraints, which we could look at removing in the future using another type-erasure method.
For users of the C++ API: No need to allocate a shared_ptr<ManifoldType>
using e.g. std::make_shared<ManifoldType>(args...)
. Everything can be passed as values! See the changes in the C++ examples.
What's Changed
- [API breaking] Use polymorphic value type holder for manifolds and constraint sets in #90 by @jorisv and @ManifoldFR
- CMake: allow use of installed jrl-cmakemodules & Eigenrand by @nim65s in #106
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #103
New Contributors
Full Changelog: v0.7.1...v0.8.0