This is a follow-up from our previous discussion about public API and C++11. I would like to propose in ROS-M we remove the no std::shared_ptrs in the public API. Remove from REP-003:
The API of the packages included in desktop-full will not use any C++11-specific feature
This proposal is motivated by annoying shims that have been put in place to allow MoveIt! to use std::shared_ptrs but still hide them externally. Currently in Lunar we are having the issue with urdf_model still using boost but urdfdom_headers using std::shared_ptr.
I’m not saying it is mandatory everyone switch to shared_ptrs, but it would be nice for authors/maintainers to have the option even if their package is in desktop-full. Thoughts?