28 #if __cplusplus >= 201700L || __cpp_lib_enable_shared_from_this >= 201603L 32 using std::enable_shared_from_this;
60 return weak_from_this_<T>(
this);
64 return weak_from_this_<T>(
this);
73 -> decltype(base_ptr->weak_from_this()) {
74 return base_ptr->weak_from_this();
79 noexcept -> decltype(base_ptr->weak_from_this()) {
80 return base_ptr->weak_from_this();
86 return this->shared_from_this();
87 }
catch (std::bad_weak_ptr
const&) {
95 return std::weak_ptr<U>{};
102 return this->shared_from_this();
103 }
catch (std::bad_weak_ptr
const&) {
104 return std::weak_ptr<U const>{};
constexpr enable_shared_from_this() noexcept=default
—— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
auto weak_from_this_(std::enable_shared_from_this< U > const *base_ptr) const noexcept-> decltype(base_ptr->weak_from_this())
auto weak_from_this_(std::enable_shared_from_this< U > *base_ptr) noexcept-> decltype(base_ptr->weak_from_this())
std::weak_ptr< U const > weak_from_this_(...) const noexcept
std::weak_ptr< T const > weak_from_this() const noexcept
std::weak_ptr< U > weak_from_this_(...) noexcept
std::weak_ptr< T > weak_from_this() noexcept