|
Open CASCADE Technology
6.5.4
|
Purpose: This template class is used to define Handle adaptor for allocated dynamically objects of arbitrary type. More...
#include <NCollection_Handle.hxx>

Data Structures | |
| class | Ptr |
| Internal adaptor class wrapping actual type and enhancing it by reference counter inherited from Standard_Transient. | |
Public Member Functions | |
| NCollection_Handle () | |
| Default constructor; creates null handle. | |
| NCollection_Handle (T *theObject) | |
| Constructor of handle from pointer on newly allocated object. | |
| T * | operator-> () |
| Cast handle to contained type. | |
| const T * | operator-> () const |
| Cast handle to contained type. | |
| T & | operator* () |
| Cast handle to contained type. | |
| const T & | operator* () const |
| Cast handle to contained type. | |
Static Public Member Functions | |
| static NCollection_Handle< T > | DownCast (const Handle< Standard_Transient > &theOther) |
| Downcast arbitrary Handle to the argument type if contained object is Handle for this type; returns null otherwise. | |
The advantage is that this handle will automatically destroy the object when last referred Handle is destroyed (i.e. it is a typical smart pointer), and that it can be handled as Handle(Standard_Transient) in OCCT components.
Use it as follows:
NCollection_Handle<T> aPtr = new T (...);
aPtr->Method(...);
Handle(Standard_Transient) aBase = aPtr; if ( aBase->IsKind(STANDARD_TYPE(NCollection_Handle)) ) { NCollection_Handle<T> aPtr2 = NCollection_Handle<T>::DownCast (aBase); if ( ! aPtr2.IsNull() ) aPtr2->Method2(); }
| NCollection_Handle< T >::NCollection_Handle | ( | ) | [inline] |
| NCollection_Handle< T >::NCollection_Handle | ( | T * | theObject | ) | [inline] |
| static NCollection_Handle<T> NCollection_Handle< T >::DownCast | ( | const Handle< Standard_Transient > & | theOther | ) | [inline, static] |
| T& NCollection_Handle< T >::operator* | ( | ) | [inline] |
| const T& NCollection_Handle< T >::operator* | ( | ) | const [inline] |
| T* NCollection_Handle< T >::operator-> | ( | ) | [inline] |
| const T* NCollection_Handle< T >::operator-> | ( | ) | const [inline] |
1.8.0