You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

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:

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • No labels