alternative Standard Libary  0.29.8
std::auto_ptr< T > Template-Klassenreferenz

#include <auto_ptr.hpp>

+ Klassendiagramm für std::auto_ptr< T >:
+ Zusammengehörigkeiten von std::auto_ptr< T >:

Öffentliche Typen

using value_type = T
 
using pointer = T *
 
using self_type = auto_ptr< value_type >
 

Öffentliche Methoden

 auto_ptr (value_type *px=0)
 
template<class To >
 auto_ptr (auto_ptr< To > &r)
 
 auto_ptr (const self_type &r)
 
 auto_ptr (auto_ptr_ref< value_type > r)
 
 ~auto_ptr ()
 
pointer release ()
 
void reset (pointer px=0)
 
pointer operator-> () const
 
value_typeoperator* () const
 
self_typeoperator= (auto_ptr_ref< value_type > r)
 
self_typeoperator= (self_type &r)
 
template<class T1 >
 operator auto_ptr_ref< T1 > ()
 
template<class T1 >
 operator auto_ptr< T1 > ()
 
value_typeget () const
 
void set (const volatile void *p)
 
void set (void *p)
 

Geschützte Attribute

void * _M_p
 

Ausführliche Beschreibung

template<class T>
class std::auto_ptr< T >

Dokumentation der benutzerdefinierten Datentypen

◆ pointer

template<class T>
using std::auto_ptr< T >::pointer = T*

◆ self_type

template<class T>
using std::auto_ptr< T >::self_type = auto_ptr<value_type>

◆ value_type

template<class T>
using std::auto_ptr< T >::value_type = T

Beschreibung der Konstruktoren und Destruktoren

◆ auto_ptr() [1/4]

template<class T>
std::auto_ptr< T >::auto_ptr ( value_type px = 0)
inlineexplicit
85  { this->set(px); }

◆ auto_ptr() [2/4]

template<class T>
template<class To >
std::auto_ptr< T >::auto_ptr ( auto_ptr< To > &  r)
inline
89  { pointer conversionCheck = r.release(); this->set(conversionCheck); }
T * pointer
Definition: auto_ptr.hpp:81

◆ auto_ptr() [3/4]

template<class T>
std::auto_ptr< T >::auto_ptr ( const self_type r)
inline
92  { this->set(r.release()); }

◆ auto_ptr() [4/4]

template<class T>
std::auto_ptr< T >::auto_ptr ( auto_ptr_ref< value_type r)
inline
95  { this->set(r.release()); }

◆ ~auto_ptr()

template<class T>
std::auto_ptr< T >::~auto_ptr ( )
inline
98  { delete this->get(); }

Dokumentation der Elementfunktionen

◆ get()

template<class T>
value_type* std::auto_ptr< T >::get ( ) const
inline
134  {
135  return static_cast<value_type*>(_M_p);
136  }
T value_type
Definition: auto_ptr.hpp:80
void * _M_p
Definition: auto_ptr.hpp:50

◆ operator auto_ptr< T1 >()

template<class T>
template<class T1 >
std::auto_ptr< T >::operator auto_ptr< T1 > ( )
inline
131  {
132  return auto_ptr<T1>(release());
133  }
pointer release()
Definition: auto_ptr.hpp:100

◆ operator auto_ptr_ref< T1 >()

template<class T>
template<class T1 >
std::auto_ptr< T >::operator auto_ptr_ref< T1 > ( )
inline
126  {
127  return auto_ptr_ref<T1>(*this, this->get());
128  }

◆ operator*()

template<class T>
value_type& std::auto_ptr< T >::operator* ( ) const
inline
112  {
113  assert(get() != 0);
114  return *this->get();
115  }

◆ operator->()

template<class T>
pointer std::auto_ptr< T >::operator-> ( ) const
inline
108  {
109  assert(get() != 0);
110  return this->get();
111  }

◆ operator=() [1/2]

template<class T>
self_type& std::auto_ptr< T >::operator= ( auto_ptr_ref< value_type r)
inline
116  {
117  reset(r.release());
118  return *this;
119  }
void reset(pointer px=0)
Definition: auto_ptr.hpp:102

◆ operator=() [2/2]

template<class T>
self_type& std::auto_ptr< T >::operator= ( self_type r)
inline
120  {
121  reset(r.release());
122  return *this;
123  }
void reset(pointer px=0)
Definition: auto_ptr.hpp:102

◆ release()

template<class T>
pointer std::auto_ptr< T >::release ( )
inline
101  { pointer px = this->get(); this->set((void*)0); return px; }
T * pointer
Definition: auto_ptr.hpp:81

◆ reset()

template<class T>
void std::auto_ptr< T >::reset ( pointer  px = 0)
inline
102  {
103  pointer pt = this->get();
104  if (px != pt) delete pt;
105  this->set(px);
106  }
T * pointer
Definition: auto_ptr.hpp:81

◆ set() [1/2]

void std::__auto_ptr_base::set ( const volatile void *  p)
inlineinherited
43  {
44  _M_p = const_cast<void*>(p);
45  }
void * _M_p
Definition: auto_ptr.hpp:50

◆ set() [2/2]

void std::__auto_ptr_base::set ( void *  p)
inlineinherited
46  {
47  _M_p = p;
48  }
void * _M_p
Definition: auto_ptr.hpp:50

Dokumentation der Datenelemente

◆ _M_p

void* std::__auto_ptr_base::_M_p
protectedinherited

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: