Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
constexpr SharedPtr::SharedPtr() noexcept = default;

constexpr SharedPtr::SharedPtr(std::nullptr_t) noexcept;

constexpr SharedPtr::SharedPtr(const WeakPtr<T>& weak) noexcept;

constexpr SharedPtr::~SharedPtr();

constexpr SharedPtr::SharedPtr(const SharedPtr& other) noexcept;

constexpr SharedPtr::SharedPtr(SharedPtr&& other) noexcept;

constexpr auto SharedPtr::operator=(const SharedPtr& other) noexcept -> SharedPtr&;

constexpr auto SharedPtr::operator=(SharedPtr&& other) noexcept -> SharedPtr&;

constexpr auto SharedPtr::operator=(std::nullptr_t) noexcept -> SharedPtr&;

constexpr auto SharedPtr::reset() noexcept -> void;

constexpr auto SharedPtr::reset(ControlBlock* controlBlock) noexcept -> void;

[[nodiscard]] constexpr auto SharedPtr::use_count() const noexcept -> std::size_t;

[[nodiscard]] explicit constexpr SharedPtr::operator bool() const noexcept;

[[nodiscard]] constexpr auto SharedPtr::get(this auto&& self [[clang::lifetimebound, msvc::lifetimebound]]) noexcept -> auto*;

[[nodiscard]] constexpr auto SharedPtr::operator*(this auto&& self [[clang::lifetimebound, msvc::lifetimebound]]) noexcept -> decltype(auto);

[[nodiscard]] constexpr auto SharedPtr::operator->(this auto&& self [[clang::lifetimebound, msvc::lifetimebound]]) noexcept -> auto*;

[[nodiscard]] constexpr auto SharedPtr::owner_equal(const auto& other) const noexcept -> bool;

[[nodiscard]] constexpr auto SharedPtr::owner_before(const auto& other) const noexcept -> bool;