This is Unofficial EPICS BASE Doxygen Site
epics::debug::weak_ptr< T > Class Template Reference

#include "debugPtr.h"

+ Inheritance diagram for epics::debug::weak_ptr< T >:
+ Collaboration diagram for epics::debug::weak_ptr< T >:

Public Types

typedef real_type::element_type element_type
 
typedef weak_ptr< T > weak_type
 
- Public Types inherited from epics::debug::ptr_base
typedef std::set< const shared_ptr_base * > ref_set_t
 

Public Member Functions

 weak_ptr () noexcept
 
 weak_ptr (const weak_ptr &o)
 
template<typename A >
 weak_ptr (const weak_ptr< A > &o)
 
template<typename A >
 weak_ptr (const shared_ptr< A > &o)
 
 ~weak_ptr ()
 
weak_ptroperator= (const weak_ptr &o)
 
template<typename A >
weak_ptroperator= (const shared_ptr< A > &o)
 
shared_ptr< T > lock () const noexcept
 
void reset () noexcept
 
long use_count () const noexcept
 
bool unique () const noexcept
 
- Public Member Functions inherited from epics::debug::ptr_base
void show_refs (std::ostream &, bool self=true, bool weak=false) const
 
void spy_refs (ref_set_t &) const
 

Friends

template<typename A >
class shared_ptr
 
template<typename A >
class weak_ptr
 

Additional Inherited Members

- Protected Types inherited from epics::debug::ptr_base
typedef std::shared_ptr< tracker > track_t
 
- Protected Member Functions inherited from epics::debug::weak_ptr_base
 weak_ptr_base ()
 
 weak_ptr_base (const track_t &track)
 
- Protected Member Functions inherited from epics::debug::ptr_base
 ptr_base () noexcept
 
 ptr_base (const track_t &track)
 
 ptr_base (const ptr_base &)=delete
 
 ptr_base (ptr_base &&)=delete
 
ptr_baseoperator= (const ptr_base &)=delete
 
- Protected Attributes inherited from epics::debug::ptr_base
track_t track
 

Detailed Description

template<typename T>
class epics::debug::weak_ptr< T >

Definition at line 102 of file debugPtr.h.

Member Typedef Documentation

template<typename T>
typedef real_type::element_type epics::debug::weak_ptr< T >::element_type

Definition at line 253 of file debugPtr.h.

template<typename T>
typedef weak_ptr<T> epics::debug::weak_ptr< T >::weak_type

Definition at line 254 of file debugPtr.h.

Constructor & Destructor Documentation

template<typename T>
epics::debug::weak_ptr< T >::weak_ptr ( )
inlinenoexcept

Definition at line 257 of file debugPtr.h.

257 {}
template<typename T>
epics::debug::weak_ptr< T >::weak_ptr ( const weak_ptr< T > &  o)
inline

Definition at line 259 of file debugPtr.h.

259 :weak_ptr_base(o.track), real(o.real) {}
template<typename T>
template<typename A >
epics::debug::weak_ptr< T >::weak_ptr ( const weak_ptr< A > &  o)
inline

Definition at line 262 of file debugPtr.h.

262 :weak_ptr_base(o.track), real(o.real) {}
template<typename T>
template<typename A >
epics::debug::weak_ptr< T >::weak_ptr ( const shared_ptr< A > &  o)
inline

Definition at line 266 of file debugPtr.h.

266 :weak_ptr_base(o.track), real(o.real) {}
template<typename T>
epics::debug::weak_ptr< T >::~weak_ptr ( )
inline

Definition at line 268 of file debugPtr.h.

268 {}

Member Function Documentation

template<typename T>
shared_ptr<T> epics::debug::weak_ptr< T >::lock ( ) const
inlinenoexcept

Definition at line 284 of file debugPtr.h.

284 { return shared_ptr<T>(real.lock(), track); }
template<typename T>
weak_ptr& epics::debug::weak_ptr< T >::operator= ( const weak_ptr< T > &  o)
inline

Definition at line 270 of file debugPtr.h.

270  {
271  if(this!=&o) {
272  real = o.real;
273  track = o.track;
274  }
275  return *this;
276  }
template<typename T>
template<typename A >
weak_ptr& epics::debug::weak_ptr< T >::operator= ( const shared_ptr< A > &  o)
inline

Definition at line 278 of file debugPtr.h.

278  {
279  real = o.real;
280  track = o.track;
281  return *this;
282  }
template<typename T>
void epics::debug::weak_ptr< T >::reset ( )
inlinenoexcept

Definition at line 285 of file debugPtr.h.

285 { track.reset(); real.reset(); }
template<typename T>
bool epics::debug::weak_ptr< T >::unique ( ) const
inlinenoexcept

Definition at line 288 of file debugPtr.h.

288 { return real.unique(); }
template<typename T>
long epics::debug::weak_ptr< T >::use_count ( ) const
inlinenoexcept

Definition at line 287 of file debugPtr.h.

287 { return real.use_count(); }

Friends And Related Function Documentation

template<typename T>
template<typename A >
friend class shared_ptr
friend

Definition at line 248 of file debugPtr.h.

template<typename T>
template<typename A >
friend class weak_ptr
friend

Definition at line 250 of file debugPtr.h.


The documentation for this class was generated from the following file: