Home | History | Annotate | Download | only in tr1

Lines Matching defs:shared_ptr

1 // <tr1/shared_ptr.h> -*- C++ -*-
28 // shared_ptr.hpp
44 /** @file tr1/shared_ptr.h
59 * @brief Exception possibly thrown by @c shared_ptr.
503 class shared_ptr;
538 // object pointed to is deleted when the last shared_ptr pointing to
739 // 2.2.3.8 shared_ptr specialized algorithms.
745 // 2.2.3.9 shared_ptr casts
747 * shared_ptr<_Tp, _Lp>(static_cast<_Tp*>(__r.get()))
757 * shared_ptr<_Tp, _Lp>(const_cast<_Tp*>(__r.get()))
767 * shared_ptr<_Tp, _Lp>(dynamic_cast<_Tp*>(__r.get()))
776 // 2.2.3.7 shared_ptr I/O
786 // 2.2.3.10 shared_ptr get_deleter (experimental)
982 // The actual shared_ptr, with forwarding constructors and
985 class shared_ptr
989 shared_ptr()
994 shared_ptr(_Tp1* __p)
998 shared_ptr(_Tp1* __p, _Deleter __d)
1002 shared_ptr(const shared_ptr<_Tp1>& __r)
1007 shared_ptr(const weak_ptr<_Tp1>& __r)
1013 shared_ptr(std::auto_ptr<_Tp1>& __r)
1018 shared_ptr(const shared_ptr<_Tp1>& __r, __static_cast_tag)
1022 shared_ptr(const shared_ptr<_Tp1>& __r, __const_cast_tag)
1026 shared_ptr(const shared_ptr<_Tp1>& __r, __dynamic_cast_tag)
1030 shared_ptr&
1031 operator=(const shared_ptr<_Tp1>& __r) // never throws
1039 shared_ptr&
1048 // 2.2.3.8 shared_ptr specialized algorithms.
1055 inline shared_ptr<_Tp>
1056 static_pointer_cast(const shared_ptr<_Tp1>& __r)
1057 { return shared_ptr<_Tp>(__r, __static_cast_tag()); }
1060 inline shared_ptr<_Tp>
1061 const_pointer_cast(const shared_ptr<_Tp1>& __r)
1062 { return shared_ptr<_Tp>(__r, __const_cast_tag()); }
1065 inline shared_ptr<_Tp>
1066 dynamic_pointer_cast(const shared_ptr<_Tp1>& __r)
1067 { return shared_ptr<_Tp>(__r, __dynamic_cast_tag()); }
1085 weak_ptr(const shared_ptr<_Tp1>& __r)
1098 operator=(const shared_ptr<_Tp1>& __r) // never throws
1104 shared_ptr<_Tp>
1109 return shared_ptr<_Tp>();
1113 return shared_ptr<_Tp>(*this);
1117 return shared_ptr<_Tp>();
1120 return this->expired() ? shared_ptr<_Tp>()
1121 : shared_ptr<_Tp>(*this);
1141 shared_ptr<_Tp>
1143 { return shared_ptr<_Tp>(this->_M_weak_this); }
1145 shared_ptr<const _Tp>
1147 { return shared_ptr<const _Tp>(this->_M_weak_this); }