Template Class shared_ptr

Inheritance Relationships

Base Type

Class Documentation

template<typename T>
class shared_ptr : public epics::debug::shared_ptr_base

Public Types

typedef real_type::element_type element_type
typedef weak_ptr<T> weak_type

Public Functions

inline shared_ptr() noexcept
inline shared_ptr(const shared_ptr &o)
template<typename A>
inline shared_ptr(const shared_ptr<A> &o)
template<typename A, class ...Args>
inline explicit shared_ptr(A *a, Args... args)
template<typename A>
inline shared_ptr(const weak_ptr<A> &o)
template<typename A>
inline shared_ptr(std::unique_ptr<A> &&a)
inline ~shared_ptr()
inline shared_ptr &operator=(const shared_ptr &o)
template<typename A>
inline shared_ptr &operator=(const shared_ptr<A> &o)
inline void reset() noexcept
template<typename A, class ...Args>
inline void reset(A *a, Args... args)
inline void swap(shared_ptr &o) noexcept
inline T *get() const noexcept
inline std::add_lvalue_reference<T>::type operator*() const noexcept
inline T *operator->() const noexcept
inline long use_count() const noexcept
inline bool unique() const noexcept
inline explicit operator bool() const noexcept
inline bool operator==(const shared_ptr<T> &o) const
inline bool operator!=(const shared_ptr<T> &o) const
inline bool operator<(const shared_ptr<T> &o) const
template<typename A>
inline bool owner_before(const shared_ptr<A> &o)
template<typename A>
inline bool owner_before(const weak_ptr<A> &o)

Friends

template<typename TO, typename FROM>
friend shared_ptr<TO> static_pointer_cast(const shared_ptr<FROM> &src)
template<typename TO, typename FROM>
friend shared_ptr<TO> const_pointer_cast(const shared_ptr<FROM> &src)
template<typename TO, typename FROM>
friend shared_ptr<TO> dynamic_pointer_cast(const shared_ptr<FROM> &src)
template<typename Store, typename Actual>
friend void do_enable_shared_from_this(const shared_ptr<Store> &dest, enable_shared_from_this<Actual> *self)