CrystalSpace

Public API Reference

Public Member Functions
CS::Utility::ScopedPointer< T > Class Template Reference

Smart pointer that deletes the contained pointer when the scope is exited. More...

#include <csutil/scopedpointer.h>

Inheritance diagram for CS::Utility::ScopedPointer< T >:
CS::Implementation::NonCopyable_ CS::Utility::ScopedDelete< T >

List of all members.

Public Member Functions

void Invalidate ()
 Invalidate (delete) the contained pointer.
bool IsValid () const
 Check if the contained pointer is valid.
 operator T * () const
 Cast to a pointer.
T & operator* () const
 Dereference underlying pointer.
T * operator-> () const
 Dereference underlying pointer.
void Reset (T *ptr=nullptr)
 Replace the contained pointer with another.
 ScopedPointer (T *ptr=nullptr)
 Construct from given pointer.
 ~ScopedPointer ()
 Destruct. Deletes the given pointer!

Detailed Description

template<class T>
class CS::Utility::ScopedPointer< T >

Smart pointer that deletes the contained pointer when the scope is exited.

Template Parameters:
Tis the type pointed to.

Definition at line 37 of file scopedpointer.h.


Constructor & Destructor Documentation

template<class T >
CS::Utility::ScopedPointer< T >::ScopedPointer ( T *  ptr = nullptr) [inline]

Construct from given pointer.

Remarks:
Takes ownership of ptr!

Definition at line 45 of file scopedpointer.h.

template<class T >
CS::Utility::ScopedPointer< T >::~ScopedPointer ( ) [inline]

Destruct. Deletes the given pointer!

Definition at line 47 of file scopedpointer.h.


Member Function Documentation

template<class T >
void CS::Utility::ScopedPointer< T >::Invalidate ( ) [inline]

Invalidate (delete) the contained pointer.

Definition at line 59 of file scopedpointer.h.

template<class T >
bool CS::Utility::ScopedPointer< T >::IsValid ( ) const [inline]

Check if the contained pointer is valid.

Definition at line 61 of file scopedpointer.h.

template<class T >
CS::Utility::ScopedPointer< T >::operator T * ( ) const [inline]

Cast to a pointer.

Definition at line 68 of file scopedpointer.h.

template<class T >
T& CS::Utility::ScopedPointer< T >::operator* ( ) const [inline]

Dereference underlying pointer.

Definition at line 72 of file scopedpointer.h.

template<class T >
T* CS::Utility::ScopedPointer< T >::operator-> ( ) const [inline]

Dereference underlying pointer.

Definition at line 64 of file scopedpointer.h.

template<class T >
void CS::Utility::ScopedPointer< T >::Reset ( T *  ptr = nullptr) [inline]

Replace the contained pointer with another.

Remarks:
Takes ownership of ptr!

Definition at line 53 of file scopedpointer.h.


The documentation for this class was generated from the following file:

Generated for Crystal Space 2.0 by doxygen 1.7.6.1