wxScopedPtr< T > Class Template Reference
[Smart Pointers]

#include <wx/scopedptr.h>


Detailed Description

template<typename T>
class wxScopedPtr< T >

A scoped pointer template class.

It is the template version of the old-style scoped pointer macros.

Notice that objects of this class intentionally cannot be copied.

Library:  wxBase
Category:  Smart Pointers
See also:
wxSharedPtr<T>, wxWeakRef<T>

Public Member Functions

 wxScopedPtr (T *ptr=NULL)
 Constructor takes ownership of the pointer.
 ~wxScopedPtr ()
 Destructor deletes the pointer.
T * get () const
 Returns pointer to object or NULL.
 operator unspecified_bool_type () const
 Conversion to a boolean expression (in a variant which is not convertible to anything but a boolean expression).
operator* () const
 Returns a reference to the object.
T * operator-> () const
 Returns pointer to object.
T * release ()
 Releases the current pointer and returns it.
void reset (T *ptr=NULL)
 Reset pointer to the value of ptr.
void swap (wxScopedPtr< T > &ot)
 Swaps pointers.

List of all members.


Constructor & Destructor Documentation

template<typename T >
wxScopedPtr< T >::wxScopedPtr ( T *  ptr = NULL  ) 

Constructor takes ownership of the pointer.

Parameters:
ptr Pointer allocated with new or NULL.
template<typename T >
wxScopedPtr< T >::~wxScopedPtr (  ) 

Destructor deletes the pointer.


Member Function Documentation

template<typename T >
T* wxScopedPtr< T >::get (  )  const

Returns pointer to object or NULL.

template<typename T >
wxScopedPtr< T >::operator unspecified_bool_type (  )  const

Conversion to a boolean expression (in a variant which is not convertible to anything but a boolean expression).

If this class contains a valid pointer it will return true, if it contains a NULL pointer it will return false.

template<typename T >
T wxScopedPtr< T >::operator* (  )  const

Returns a reference to the object.

Note:
If the internal pointer is NULL this method will cause an assert in debug mode.
template<typename T >
T* wxScopedPtr< T >::operator-> (  )  const

Returns pointer to object.

If the pointer is NULL this method will cause an assert in debug mode.

template<typename T >
T* wxScopedPtr< T >::release (  ) 

Releases the current pointer and returns it.

Remarks:
Afterwards the caller is responsible for deleting the data contained in the scoped pointer before.
template<typename T >
void wxScopedPtr< T >::reset ( T *  ptr = NULL  ) 

Reset pointer to the value of ptr.

The previous pointer will be deleted.

template<typename T >
void wxScopedPtr< T >::swap ( wxScopedPtr< T > &  ot  ) 

Swaps pointers.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



wxWidgets logo

[ top ]