KSharedPtr< T > Class Template Reference

Can be used to control the lifetime of an object that has derived KShared. More...

#include <ksharedptr.h>

List of all members.


Public Member Functions

 KSharedPtr ()
 KSharedPtr (T *t)
 KSharedPtr (const KSharedPtr &p)
 ~KSharedPtr ()
KSharedPtr< T > & operator= (const KSharedPtr< T > &p)
KSharedPtr< T > & operator= (T *p)
bool operator== (const KSharedPtr< T > &p) const
bool operator!= (const KSharedPtr< T > &p) const
bool operator== (const T *p) const
bool operator!= (const T *p) const
bool operator! () const
 operator T * () const
T * data ()
const T * data () const
const T & operator* () const
T & operator* ()
const T * operator-> () const
T * operator-> ()
int count () const

Detailed Description

template<class T>
class KSharedPtr< T >

Can be used to control the lifetime of an object that has derived KShared.

As long a someone holds a KSharedPtr on some KShared object it won't become deleted but is deleted once its reference count is 0. This struct emulates C++ pointers virtually perfectly. So just use it like a simple C++ pointer.

KShared and KSharedPtr are preferred over QShared / QSharedPtr since they are more safe.

WARNING: Please note that this class template provides an implicit conversion to T*. Do *not* change this pointer or the pointee (don't call delete on it, for instance) behind KSharedPtr's back.

Author:
Waldo Bastian <bastian@kde.org>

Definition at line 100 of file ksharedptr.h.


Constructor & Destructor Documentation

template<class T>
KSharedPtr< T >::KSharedPtr (  )  [inline]

Creates a null pointer.

Definition at line 106 of file ksharedptr.h.

template<class T>
KSharedPtr< T >::KSharedPtr ( T *  t  )  [inline]

Creates a new pointer.

Parameters:
t the pointer

Definition at line 112 of file ksharedptr.h.

template<class T>
KSharedPtr< T >::KSharedPtr ( const KSharedPtr< T > &  p  )  [inline]

Copies a pointer.

Parameters:
p the pointer to copy

Definition at line 119 of file ksharedptr.h.

template<class T>
KSharedPtr< T >::~KSharedPtr (  )  [inline]

Unreferences the object that this pointer points to.

If it was the last reference, the object will be deleted.

Definition at line 126 of file ksharedptr.h.


Member Function Documentation

template<class T>
int KSharedPtr< T >::count (  )  const [inline]

Returns the number of references.

Returns:
the number of references

Definition at line 170 of file ksharedptr.h.

template<class T>
const T* KSharedPtr< T >::data (  )  const [inline]

Returns the pointer.

Returns:
the pointer

Definition at line 159 of file ksharedptr.h.

template<class T>
T* KSharedPtr< T >::data (  )  [inline]

Returns the pointer.

Returns:
the pointer

Definition at line 153 of file ksharedptr.h.


The documentation for this class was generated from the following file:
KDE Home | KDE Accessibility Home | Description of Access Keys