30 #ifndef _BACKWARD_AUTO_PTR_H
31 #define _BACKWARD_AUTO_PTR_H 1
36 namespace std _GLIBCXX_VISIBILITY(default)
38 _GLIBCXX_BEGIN_NAMESPACE_VERSION
47 template<
typename _Tp1>
54 } _GLIBCXX_DEPRECATED;
86 template<
typename _Tp>
124 template<
typename _Tp1>
138 reset(__a.release());
152 template<
typename _Tp1>
156 reset(__a.release());
183 _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);
196 _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);
211 get()
const throw() {
return _M_ptr; }
261 : _M_ptr(__ref._M_ptr) { }
266 if (__ref._M_ptr != this->get())
269 _M_ptr = __ref._M_ptr;
274 template<
typename _Tp1>
275 operator auto_ptr_ref<_Tp1>()
throw()
276 {
return auto_ptr_ref<_Tp1>(this->
release()); }
278 template<
typename _Tp1>
279 operator auto_ptr<_Tp1>()
throw()
280 {
return auto_ptr<_Tp1>(this->
release()); }
281 } _GLIBCXX_DEPRECATED;
290 } _GLIBCXX_DEPRECATED;
292 _GLIBCXX_END_NAMESPACE_VERSION
auto_ptr & operator=(auto_ptr< _Tp1 > &__a)
auto_ptr assignment operator.
A simple smart pointer providing strict ownership semantics.
element_type * operator->() const
Smart pointer dereferencing.
_Tp element_type
The pointed-to type.
element_type & operator*() const
Smart pointer dereferencing.
element_type * release()
Bypassing the smart pointer.
auto_ptr(auto_ptr &__a)
An auto_ptr can be constructed from another auto_ptr.
auto_ptr(auto_ptr_ref< element_type > __ref)
Automatic conversions.
auto_ptr(auto_ptr< _Tp1 > &__a)
An auto_ptr can be constructed from another auto_ptr.
void reset(element_type *__p=0)
Forcibly deletes the managed object.
auto_ptr(element_type *__p=0)
An auto_ptr is usually constructed from a raw pointer.
auto_ptr & operator=(auto_ptr &__a)
auto_ptr assignment operator.