Skip to content
Snippets Groups Projects
  • Lioncash's avatar
    patch_manager: Return a std::unique_ptr from ParseControlNCA() and... · 6636f3ff
    Lioncash authored
    patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
    
    Neither of these functions require the use of shared ownership of the
    returned pointer. This makes it more difficult to create reference
    cycles with, and makes the interface more generic, as std::shared_ptr
    instances can be created from a std::unique_ptr, but the vice-versa
    isn't possible. This also alters relevant functions to take NCA
    arguments by const reference rather than a const reference to a
    std::shared_ptr. These functions don't alter the ownership of the memory
    used by the NCA instance, so we can make the interface more generic by
    not assuming anything about the type of smart pointer the NCA is
    contained within and make it the caller's responsibility to ensure the
    supplied NCA is valid.
    6636f3ff