ChimeraTK / ControlSystemAdapter

An adapter layer which allows to use control applications with different control system software environments.
GNU Lesser General Public License v3.0
3 stars 2 forks source link

Use standard C++ 11 instead of Boost where possible #4

Closed smarsching closed 8 years ago

smarsching commented 8 years ago

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.

smarsching commented 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.