Home | History | Annotate | Download | only in tr1

Lines Matching refs:shared_ptr

1 // <tr1/shared_ptr.h> -*- C++ -*-
29 // shared_ptr.hpp
45 /** @file tr1/shared_ptr.h
60 * @brief Exception possibly thrown by @c shared_ptr.
510 class shared_ptr;
545 // object pointed to is deleted when the last shared_ptr pointing to
746 // 2.2.3.8 shared_ptr specialized algorithms.
752 // 2.2.3.9 shared_ptr casts
754 * shared_ptr<_Tp, _Lp>(static_cast<_Tp*>(__r.get()))
764 * shared_ptr<_Tp, _Lp>(const_cast<_Tp*>(__r.get()))
774 * shared_ptr<_Tp, _Lp>(dynamic_cast<_Tp*>(__r.get()))
783 // 2.2.3.7 shared_ptr I/O
793 // 2.2.3.10 shared_ptr get_deleter (experimental)
989 // The actual shared_ptr, with forwarding constructors and
992 class shared_ptr
996 shared_ptr()
1001 shared_ptr(_Tp1* __p)
1005 shared_ptr(_Tp1* __p, _Deleter __d)
1009 shared_ptr(const shared_ptr<_Tp1>& __r)
1014 shared_ptr(const weak_ptr<_Tp1>& __r)
1020 shared_ptr(std::auto_ptr<_Tp1>& __r)
1025 shared_ptr(const shared_ptr<_Tp1>& __r, __static_cast_tag)
1029 shared_ptr(const shared_ptr<_Tp1>& __r, __const_cast_tag)
1033 shared_ptr(const shared_ptr<_Tp1>& __r, __dynamic_cast_tag)
1037 shared_ptr&
1038 operator=(const shared_ptr<_Tp1>& __r) // never throws
1046 shared_ptr&
1055 // 2.2.3.8 shared_ptr specialized algorithms.
1062 inline shared_ptr<_Tp>
1063 static_pointer_cast(const shared_ptr<_Tp1>& __r)
1064 { return shared_ptr<_Tp>(__r, __static_cast_tag()); }
1067 inline shared_ptr<_Tp>
1068 const_pointer_cast(const shared_ptr<_Tp1>& __r)
1069 { return shared_ptr<_Tp>(__r, __const_cast_tag()); }
1072 inline shared_ptr<_Tp>
1073 dynamic_pointer_cast(const shared_ptr<_Tp1>& __r)
1074 { return shared_ptr<_Tp>(__r, __dynamic_cast_tag()); }
1092 weak_ptr(const shared_ptr<_Tp1>& __r)
1105 operator=(const shared_ptr<_Tp1>& __r) // never throws
1111 shared_ptr<_Tp>
1116 return shared_ptr<_Tp>();
1120 return shared_ptr<_Tp>(*this);
1124 return shared_ptr<_Tp>();
1127 return this->expired() ? shared_ptr<_Tp>()
1128 : shared_ptr<_Tp>(*this);
1148 shared_ptr<_Tp>
1150 { return shared_ptr<_Tp>(this->_M_weak_this); }
1152 shared_ptr<const _Tp>
1154 { return shared_ptr<const _Tp>(this->_M_weak_this); }