Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Typedefs | Functions
Standard_Handle.hxx File Reference
#include <Standard_Std.hxx>
#include <Standard_Macro.hxx>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <Standard_Transient.hxx>
#include <Standard_HashUtils.hxx>

Data Structures

class  opencascade::handle< T >
 Intrusive smart pointer for use with Standard_Transient class and its descendants. More...
 
struct  std::hash< Handle< TheTransientType > >
 

Namespaces

namespace  opencascade
 Namespace opencascade is intended for low-level template classes and functions.
 
namespace  occ
 Modern namespace for Open CASCADE Technology (OCCT 8.0+).
 
namespace  std
 STL namespace.
 

Macros

#define Handle(Class)   opencascade::handle<Class>
 Define Handle() macro.
 
#define DEFINE_STANDARD_HANDLECLASS(C1, C2, BC)
 For compatibility with previous versions of OCCT, define Handle_Class alias for opencascade::handle<Class>.
 
#define DEFINE_STANDARD_HANDLE(C1, C2)   DEFINE_STANDARD_HANDLECLASS(C1, C2, Standard_Transient)
 
#define DEFINE_STANDARD_PHANDLE(C1, C2)   DEFINE_STANDARD_HANDLECLASS(C1, C2, Standard_Persistent)
 

Typedefs

template<class T >
using occ::handle = opencascade::handle<T>
 Intrusive smart pointer template for Standard_Transient descendants. This is an alias to opencascade::handle<T>.
 

Functions

template<class TDerived , class TBase >
handle< TDerivedocc::down_cast (const handle< TBase > &theObject)
 Safe downcast from handle of base type to handle of derived type.
 
template<class TDerived , class TBase >
handle< TDerivedocc::down_cast (const TBase *thePtr)
 Safe downcast from raw pointer to handle of derived type.
 

Macro Definition Documentation

◆ DEFINE_STANDARD_HANDLE

#define DEFINE_STANDARD_HANDLE ( C1,
C2 )   DEFINE_STANDARD_HANDLECLASS(C1, C2, Standard_Transient)

◆ DEFINE_STANDARD_HANDLECLASS

#define DEFINE_STANDARD_HANDLECLASS ( C1,
C2,
BC )
Value:
class C1; \
Standard_DEPRECATED("This typedef will be removed right after 7.9 release. Use Handle(T) " \
"directly instead.") \
typedef Handle(C1) Handle_##C1;
#define Handle(Class)
Define Handle() macro.
Definition Standard_Handle.hxx:448
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142
NCollection_ForwardRangeIterator(HostType *theHost)
Construct from a pointer to the host iterator.
Definition NCollection_ForwardRange.hxx:156

For compatibility with previous versions of OCCT, define Handle_Class alias for opencascade::handle<Class>.

For other compilers, use simple typedef

◆ DEFINE_STANDARD_PHANDLE

#define DEFINE_STANDARD_PHANDLE ( C1,
C2 )   DEFINE_STANDARD_HANDLECLASS(C1, C2, Standard_Persistent)

◆ Handle

Define Handle() macro.