Status

DONE

Background

ACS Smart Pointers for components are based on loki library and the problem is that this is an old library providing support for smart pointers not officially offered by C++ or Boost years ago. The problem is that the support for this library was discontinued and it is becoming a legacy software in ACS. These days both Boost and the standard C++ library are providing different implementations of smart pointers, hence it would make sense to migrate the existing smart pointers to one of the implementations offered by them.

Alternatives

  • Use existing classes copied from Loki and modernize where required (Internal lock mechanism to std::shared_ptr)
  • Create an extension of std::shared_ptr and std::unique_ptr which fulfills the required tasks
  • Make use of standard std::shared_ptr and std::unique_ptr and assign custome deleters where appropriate

Implementation

The implementation is ultimately based on the third alternative respecting the standard API and allowing for a smoother use by the community. The implementation is marked for 2022APR release. Details can be found in the ticket:

ICT-19829 - Getting issue details... STATUS

  • No labels