Open CASCADE Technology  6.9.1
Data Structures | Public Types | Public Member Functions | Static Public Member Functions
NCollection_Handle< T > Class Template Reference

Purpose: This template class is used to define Handle adaptor for allocated dynamically objects of arbitrary type. More...

#include <NCollection_Handle.hxx>

Inheritance diagram for NCollection_Handle< T >:
Inheritance graph
[legend]

Public Types

typedef T element_type
 

Public Member Functions

 NCollection_Handle ()
 Default constructor; creates null handle. More...
 
 NCollection_Handle (T *theObject)
 Constructor of handle from pointer on newly allocated object. More...
 
T * operator-> ()
 Cast handle to contained type. More...
 
const T * operator-> () const
 Cast handle to contained type. More...
 
T & operator* ()
 Cast handle to contained type. More...
 
const T & operator* () const
 Cast handle to contained type. More...
 

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. More...
 

Detailed Description

template<class T>
class NCollection_Handle< T >

Purpose: This template class is used to define Handle adaptor for allocated dynamically objects of arbitrary type.

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(); }

Member Typedef Documentation

template<class T>
typedef T NCollection_Handle< T >::element_type

Constructor & Destructor Documentation

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

Default constructor; creates null handle.

template<class T>
NCollection_Handle< T >::NCollection_Handle ( T *  theObject)
inline

Constructor of handle from pointer on newly allocated object.

Member Function Documentation

template<class T>
static NCollection_Handle<T> NCollection_Handle< T >::DownCast ( const Handle< Standard_Transient > &  theOther)
inlinestatic

Downcast arbitrary Handle to the argument type if contained object is Handle for this type; returns null otherwise.

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

Cast handle to contained type.

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

Cast handle to contained type.

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

Cast handle to contained type.

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

Cast handle to contained type.


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