Closed smarsching closed 8 years ago
As discussed with Martin Hierholzer and Martin Killenberg, we currently cannot move away from boost::shared_ptr in other parts of ChimeraTK.
There are places where a boost::shared_ptr might point to an object from the Control System Adapter or from the Device Access library, so we cannot (reasonably) move away from boost::shared_ptr for the Control System Adapter either.
I mark this issue as wontfix and close it. If we can move to std::shared_ptr for the whole ChimeraTK framework at a later point in time, we can open a new one.
Originally, we wanted to stay compatible with C++ 03, so that we used many parts of Boost (in particular the smart pointers). As support for C++ 11 is now present in most Linux distributions that are still supported, support for C++ 03 is not an issue any longer. In fact, we have already made changes that require C++ 11.
For this reason, we should replace Boost code with standard C++ 11 where possible. At least, this should be possible for the smart pointers and the threading support. We will still need Boost for the lock-free data structures and for testing, so we cannot remove the dependency completely.
As this change will not be compatiable with old code that is using the control-system adapter, it should be coordinated with #3 which also has to introduce incompatible changes.