libstdc++
|
Go to the source code of this file.
Classes | |
class | std::auto_ptr< _Tp > |
struct | std::auto_ptr_ref< _Tp1 > |
Namespaces | |
std | |
Typedefs | |
typedef _Tp | element_type |
Functions | |
~auto_ptr () | |
template<typename _Tp > | |
class std::auto_ptr | std::_GLIBCXX11_DEPRECATED_SUGGEST ("std::unique_ptr") |
auto_ptr (element_type *__p=0) throw () | |
auto_ptr (auto_ptr &__a) throw () | |
template<typename _Tp1 > | |
auto_ptr (auto_ptr< _Tp1 > &__a) throw () | |
auto_ptr (auto_ptr_ref< element_type > __ref) throw () | |
element_type * | get () const throw () |
template<typename _Tp1 > | |
operator auto_ptr< _Tp1 > () throw () | |
template<typename _Tp1 > | |
operator auto_ptr_ref< _Tp1 > () throw () | |
element_type & | operator* () const throw () |
element_type * | operator-> () const throw () |
auto_ptr & | operator= (auto_ptr &__a) throw () |
template<typename _Tp1 > | |
auto_ptr & | operator= (auto_ptr< _Tp1 > &__a) throw () |
auto_ptr & | operator= (auto_ptr_ref< element_type > __ref) throw () |
element_type * | release () throw () |
void | reset (element_type *__p=0) throw () |
Variables | |
struct std::auto_ptr_ref | std::_GLIBCXX11_DEPRECATED |
This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <memory>.
Definition in file auto_ptr.h.
typedef _Tp element_type |
The pointed-to type.
Definition at line 86 of file auto_ptr.h.
_GLIBCXX11_DEPRECATED_SUGGEST::~auto_ptr | ( | ) |
When the auto_ptr goes out of scope, the object it owns is deleted. If it no longer owns anything (i.e., get()
is NULL
), then this has no effect.
The C++ standard says there is supposed to be an empty throw specification here, but omitting it is standard conforming. Its presence can be detected only if _Tp::~_Tp() throws, but this is prohibited. [17.4.3.6]/2
Definition at line 162 of file auto_ptr.h.
|
explicit |
An auto_ptr is usually constructed from a raw pointer.
__p | A pointer (defaults to NULL). |
This object now owns the object pointed to by __p.
Definition at line 95 of file auto_ptr.h.
_GLIBCXX11_DEPRECATED_SUGGEST::auto_ptr | ( | auto_ptr & | __a | ) | |
throw | ( | ||||
) |
An auto_ptr can be constructed from another auto_ptr.
__a | Another auto_ptr of the same type. |
This object now owns the object previously owned by __a, which has given up ownership.
Definition at line 104 of file auto_ptr.h.
_GLIBCXX11_DEPRECATED_SUGGEST::auto_ptr | ( | auto_ptr< _Tp1 > & | __a | ) | |
throw | ( | ||||
) |
An auto_ptr can be constructed from another auto_ptr.
__a | Another auto_ptr of a different but related type. |
A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type.
This object now owns the object previously owned by __a, which has given up ownership.
Definition at line 117 of file auto_ptr.h.
_GLIBCXX11_DEPRECATED_SUGGEST::auto_ptr | ( | auto_ptr_ref< element_type > | __ref | ) | |
throw | ( | ||||
) |
Automatic conversions.
These operations are supposed to convert an auto_ptr into and from an auto_ptr_ref automatically as needed. This would allow constructs such as
But it doesn't work, and won't be fixed. For further details see http://cplusplus.github.io/LWG/lwg-closed.html#463
Definition at line 256 of file auto_ptr.h.
element_type* _GLIBCXX11_DEPRECATED_SUGGEST::get | ( | ) | const | |
throw | ( | |||
) |
Bypassing the smart pointer.
You can get a copy of the pointer that this object owns, for situations such as passing to a function which only accepts a raw pointer.
Definition at line 203 of file auto_ptr.h.
element_type& _GLIBCXX11_DEPRECATED_SUGGEST::operator* | ( | ) | const | |
throw | ( | |||
) |
Smart pointer dereferencing.
If this auto_ptr no longer owns anything, then this operation will crash. (For a smart pointer, no longer owns anything is the same as being a null pointer, and you know what happens when you dereference one of those...)
Definition at line 173 of file auto_ptr.h.
element_type* _GLIBCXX11_DEPRECATED_SUGGEST::operator-> | ( | ) | const | |
throw | ( | |||
) |
Smart pointer dereferencing.
This returns the pointer itself, which the language then will automatically cause to be dereferenced.
Definition at line 186 of file auto_ptr.h.
auto_ptr assignment operator.
__a | Another auto_ptr of the same type. |
This object now owns the object previously owned by __a, which has given up ownership. The object that this one used to own and track has been deleted.
Definition at line 128 of file auto_ptr.h.
auto_ptr& _GLIBCXX11_DEPRECATED_SUGGEST::operator= | ( | auto_ptr< _Tp1 > & | __a | ) | |
throw | ( | ||||
) |
auto_ptr assignment operator.
__a | Another auto_ptr of a different but related type. |
A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type.
This object now owns the object previously owned by __a, which has given up ownership. The object that this one used to own and track has been deleted.
Definition at line 146 of file auto_ptr.h.
element_type* _GLIBCXX11_DEPRECATED_SUGGEST::release | ( | ) | ||
throw | ( | |||
) |
Bypassing the smart pointer.
You can get a copy of the pointer that this object owns, for situations such as passing to a function which only accepts a raw pointer.
Definition at line 217 of file auto_ptr.h.
void _GLIBCXX11_DEPRECATED_SUGGEST::reset | ( | element_type * | __p = 0 | ) | |
throw | ( | ||||
) |
Forcibly deletes the managed object.
__p | A pointer (defaults to NULL). |
This object now owns the object pointed to by __p. The previous object has been deleted.
Definition at line 232 of file auto_ptr.h.