Home · All Classes · All Namespaces · Modules · Functions · Files
Public Member Functions | Static Public Member Functions

Tp::SharedPtr< T > Class Template Reference

#include </home/andrunko/work/telepathy/telepathy-qt4/TelepathyQt4/shared-ptr.h>

List of all members.

Public Member Functions

Static Public Member Functions

template<class T>
class Tp::SharedPtr< T >


Constructor & Destructor Documentation

template<class T>
Tp::SharedPtr< T >::SharedPtr (  )  [inline]
template<class T>
Tp::SharedPtr< T >::SharedPtr ( T *  d  )  [inline, explicit]
template<class T>
template<typename Subclass >
Tp::SharedPtr< T >::SharedPtr ( const SharedPtr< Subclass > &  o  )  [inline]
template<class T>
Tp::SharedPtr< T >::SharedPtr ( const SharedPtr< T > &  o  )  [inline]
template<class T>
Tp::SharedPtr< T >::SharedPtr ( const WeakPtr< T > &  o  )  [inline, explicit]
template<class T>
Tp::SharedPtr< T >::~SharedPtr (  )  [inline]

Member Function Documentation

template<class T>
void Tp::SharedPtr< T >::reset (  )  [inline]
template<class T>
T* Tp::SharedPtr< T >::data (  )  const [inline]
template<class T>
const T* Tp::SharedPtr< T >::constData (  )  const [inline]
template<class T>
T* Tp::SharedPtr< T >::operator-> (  )  [inline]
template<class T>
T* Tp::SharedPtr< T >::operator-> (  )  const [inline]
template<class T>
bool Tp::SharedPtr< T >::isNull (  )  const [inline]
template<class T>
Tp::SharedPtr< T >::operator bool (  )  const [inline]
template<class T>
bool Tp::SharedPtr< T >::operator! (  )  const [inline]
template<class T>
bool Tp::SharedPtr< T >::operator== ( const SharedPtr< T > &  o  )  const [inline]
template<class T>
bool Tp::SharedPtr< T >::operator!= ( const SharedPtr< T > &  o  )  const [inline]
template<class T>
bool Tp::SharedPtr< T >::operator== ( const T *  ptr  )  const [inline]
template<class T>
bool Tp::SharedPtr< T >::operator!= ( const T *  ptr  )  const [inline]
template<class T>
SharedPtr<T>& Tp::SharedPtr< T >::operator= ( const SharedPtr< T > &  o  )  [inline]
template<class T>
void Tp::SharedPtr< T >::swap ( SharedPtr< T > &  o  )  [inline]
template<class T>
template<class X >
static SharedPtr<T> Tp::SharedPtr< T >::staticCast ( const SharedPtr< X > &  src  )  [inline, static]
template<class T>
template<class X >
static SharedPtr< T > Tp::SharedPtr< T >::dynamicCast ( const SharedPtr< X > &  src  )  [inline, static]

Casts the pointer given by src to a pointer pointing to an object of type T. The cast will succeed if the C++ runtime type identification mechanism considers the type T to be the actual runtime type of the object pointed to by src or one of its (possibly indirect) parent classes. Otherwise, a null pointer is returned.

Note that this also allows down-casting a baseclass pointer to a subclass pointer.

This cast method should not be used for QObject-derived classes, as Qt provides a more portable and efficient type identification mechanism, which is used by qObjectCast().

This cast method requires the C++ dynamic runtime type identification facility to be enabled (which might be disabled by eg. the -fno-rtti flag of the GNU G++ compiler).

template<class T>
template<class X >
static SharedPtr<T> Tp::SharedPtr< T >::constCast ( const SharedPtr< X > &  src  )  [inline, static]
template<class T>
template<class X >
static SharedPtr< T > Tp::SharedPtr< T >::qObjectCast ( const SharedPtr< X > &  src  )  [inline, static]

Casts the pointer given by src to a pointer pointing to an object of type T. The cast will succeed if the Qt runtime type identification mechanism considers the type T to be the actual runtime type of the object pointed to by src or one of its (possibly indirect) parent classes. Otherwise, a null pointer is returned.

Note that this also allows down-casting a baseclass pointer to a subclass pointer.

This cast method MUST not be used for classes not derived from QObject. However, dynamicCast() provides the same semantics for all classes, provided the C++ runtime type identification facility is enabled. This method, on the other hand, doesn't require the standard C++ facility and is probably also faster for the types it can be used with.


Copyright © 2008-2010 Collabora Ltd. and Nokia Corporation
Telepathy-Qt4 0.4.4