Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul memory smart pointer #149

Merged
merged 4 commits into from
Nov 10, 2024
Merged

Commits on Nov 10, 2024

  1. Add smart pointer wrapper utility

    Add a new file "smart_ptr.h" to simplify the use of Boost intrusive pointers. This includes template aliases for reference-counted smart pointers and their base class, enhancing memory management in the project. Additionally, update the CMakeLists.txt to include the new header file.
    inakleinbottle committed Nov 10, 2024
    Configuration menu
    Copy the full SHA
    e95ece0 View commit details
    Browse the repository at this point in the history
  2. Switch to custom smart pointers.

    Replaced Boost intrusive pointers with the custom Rc smart pointers across multiple headers for consistency and potential performance improvements. This change impacts device handling, algebra context, basis, and linear operator functionalities.
    inakleinbottle committed Nov 10, 2024
    Configuration menu
    Copy the full SHA
    3c3159c View commit details
    Browse the repository at this point in the history
  3. Replace boost smart pointers with custom smart pointers

    Refactored the code to use the internal `Rc` smart pointers instead of `boost::intrusive_ptr`. This change improves maintainability and reduces dependency on external libraries. Included necessary header files for the new smart pointers.
    inakleinbottle committed Nov 10, 2024
    Configuration menu
    Copy the full SHA
    7635a0c View commit details
    Browse the repository at this point in the history
  4. Replace Boost intrusive_ref_counter with mem::RcBase

    Transition from Boost's intrusive_ref_counter to mem::RcBase for better memory management consistency across the codebase. This adjustment affects the DeviceHandle, ContextBase, and BasisInterface classes.
    inakleinbottle committed Nov 10, 2024
    Configuration menu
    Copy the full SHA
    7c24699 View commit details
    Browse the repository at this point in the history