forked from OSchip/llvm-project
[libc++] Implement shared_ptr methods inline in the class
This patch refactors the shared_ptr methods from being defined out-of-line to being defined inline in the class, like what we do for all new code in the library. The benefits of doing that are that code is not as scattered around and is hence easier to understand, and it avoids a ton of duplication due to SFINAE checks. Defining the method where it is declared also removes the possibility for mismatched attributes. As a fly-by change, this also: - Adds a few _LIBCPP_HIDE_FROM_ABI attributes - Uses __enable_if_t instead of enable_if as a function argument, to match the style that we use everywhere else. Differential Revision: https://reviews.llvm.org/D112478
This commit is contained in:
parent
da1318ccca
commit
b2d25ef2d1