QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
QObjectUniquePtr< T > Class Template Reference

Keeps a pointer to a QObject and deletes it whenever this object is deleted. More...

#include <qobjectuniqueptr.h>

Public Member Functions

 QObjectUniquePtr ()
 Creates a new empty QObjectUniquePtr.
 
 QObjectUniquePtr (T *p)
 Takes a new QObjectUniquePtr and assigned p to it.
 
 ~QObjectUniquePtr ()
 Will delete the contained QObject if it still exists.
 
void clear ()
 Clears the pointer.
 
T * data () const
 Returns the raw pointer to the managed QObject.
 
T * get () const
 Returns the raw pointer to the managed QObject.
 
bool isNull () const
 Checks if the managed pointer is nullptr.
 
 operator bool () const
 Checks if the pointer managed by this object is nullptr.
 
 operator T* () const
 Const getter for the managed raw pointer.
 
T & operator* () const
 Dereferences the managed QObject.
 
T * operator-> () const
 Returns a raw pointer to the managed QObject.
 
QObjectUniquePtr< T > & operator= (T *p)
 
T * release ()
 Clears the pointer and returns it.
 
void reset (T *p=nullptr)
 Will reset the managed pointer to p.
 
void swap (QObjectUniquePtr &other)
 Swaps the pointer managed by this instance with the pointer managed by other.
 

Detailed Description

template<class T>
class QObjectUniquePtr< T >

Keeps a pointer to a QObject and deletes it whenever this object is deleted.

It keeps a weak pointer to the QObject internally and will be set to nullptr whenever the QObject is deleted.

See also
QObjectParentUniquePtr for storage of non-QObject derived objects which are owned by a QObject parent (such as QGraphicItem subclasses).
Since
QGIS 3.8

Definition at line 43 of file qobjectuniqueptr.h.

Constructor & Destructor Documentation

◆ QObjectUniquePtr() [1/2]

template<class T >
QObjectUniquePtr< T >::QObjectUniquePtr ( )
inline

Creates a new empty QObjectUniquePtr.

Definition at line 64 of file qobjectuniqueptr.h.

◆ QObjectUniquePtr() [2/2]

template<class T >
QObjectUniquePtr< T >::QObjectUniquePtr ( T *  p)
inline

Takes a new QObjectUniquePtr and assigned p to it.

Definition at line 70 of file qobjectuniqueptr.h.

◆ ~QObjectUniquePtr()

template<class T >
QObjectUniquePtr< T >::~QObjectUniquePtr ( )
inline

Will delete the contained QObject if it still exists.

Definition at line 77 of file qobjectuniqueptr.h.

Member Function Documentation

◆ clear()

template<class T >
void QObjectUniquePtr< T >::clear ( )
inline

Clears the pointer.

The managed object is set to nullptr and will not be deleted.

Definition at line 158 of file qobjectuniqueptr.h.

◆ data()

template<class T >
T * QObjectUniquePtr< T >::data ( ) const
inline

Returns the raw pointer to the managed QObject.

Definition at line 100 of file qobjectuniqueptr.h.

◆ get()

template<class T >
T * QObjectUniquePtr< T >::get ( ) const
inline

Returns the raw pointer to the managed QObject.

Definition at line 108 of file qobjectuniqueptr.h.

◆ isNull()

template<class T >
bool QObjectUniquePtr< T >::isNull ( ) const
inline

Checks if the managed pointer is nullptr.

Definition at line 140 of file qobjectuniqueptr.h.

◆ operator bool()

template<class T >
QObjectUniquePtr< T >::operator bool ( ) const
inlineexplicit

Checks if the pointer managed by this object is nullptr.

If it is not nullptr true will be returned, if it is nullptr false will be returned.

Definition at line 150 of file qobjectuniqueptr.h.

◆ operator T*()

template<class T >
QObjectUniquePtr< T >::operator T* ( ) const
inline

Const getter for the managed raw pointer.

Definition at line 132 of file qobjectuniqueptr.h.

◆ operator*()

template<class T >
T & QObjectUniquePtr< T >::operator* ( ) const
inline

Dereferences the managed QObject.

Definition at line 124 of file qobjectuniqueptr.h.

◆ operator->()

template<class T >
T * QObjectUniquePtr< T >::operator-> ( ) const
inline

Returns a raw pointer to the managed QObject.

Definition at line 116 of file qobjectuniqueptr.h.

◆ operator=()

template<class T >
QObjectUniquePtr< T > & QObjectUniquePtr< T >::operator= ( T *  p)
inline

Definition at line 91 of file qobjectuniqueptr.h.

◆ release()

template<class T >
T * QObjectUniquePtr< T >::release ( )
inline

Clears the pointer and returns it.

The managed object will not be deleted and it is the callers responsibility to guarantee that no memory is leaked.

Definition at line 167 of file qobjectuniqueptr.h.

◆ reset()

template<class T >
void QObjectUniquePtr< T >::reset ( T *  p = nullptr)
inline

Will reset the managed pointer to p.

If there is already a QObject managed currently it will be deleted. If p is not specified the managed QObject will be deleted and this object reset to nullptr.

Definition at line 179 of file qobjectuniqueptr.h.

◆ swap()

template<class T >
void QObjectUniquePtr< T >::swap ( QObjectUniquePtr< T > &  other)
inline

Swaps the pointer managed by this instance with the pointer managed by other.

Definition at line 86 of file qobjectuniqueptr.h.


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