Open CASCADE Technology  6.9.1
Macros
Standard_DefineHandle.hxx File Reference
#include <Standard_Macro.hxx>

Macros

#define IMPLEMENT_DOWNCAST(C1, BC)
 
#define DEFINE_STANDARD_HANDLECLASS(C1, C2, BC)
 
#define DEFINE_STANDARD_HANDLE(C1, C2)   DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Transient)
 
#define IMPLEMENT_STANDARD_HANDLE(C1, C2)   IMPLEMENT_DOWNCAST(C1,Standard_Transient)
 
#define DEFINE_STANDARD_PHANDLE(C1, C2)   DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Persistent)
 
#define IMPLEMENT_STANDARD_PHANDLE(C1, C2)   IMPLEMENT_DOWNCAST(C1,Standard_Persistent)
 
#define DEFINE_STANDARD_RTTI(C1)   Standard_EXPORT virtual const Handle(Standard_Type)& DynamicType() const;
 
#define IMPLEMENT_STANDARD_RTTI(C1)
 
#define IMPLEMENT_STANDARD_TYPE(C1)
 
#define IMPLEMENT_STANDARD_SUPERTYPE(Cn)   /* Left to ensure source compatibility with Open CASCADE 6.3 and earlier */
 
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()   static Handle(Standard_Transient) _Ancestors[]= {
 
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_ENTRY(Cn)   STANDARD_TYPE(Cn),
 
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()
 
#define IMPLEMENT_STANDARD_TYPE_END(C1)
 
#define IMPLEMENT_STANDARD_RTTIEXT(C1, C2)
 

Macro Definition Documentation

#define DEFINE_STANDARD_HANDLE (   C1,
  C2 
)    DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Transient)
#define DEFINE_STANDARD_HANDLECLASS (   C1,
  C2,
  BC 
)
#define DEFINE_STANDARD_PHANDLE (   C1,
  C2 
)    DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Persistent)
#define DEFINE_STANDARD_RTTI (   C1)    Standard_EXPORT virtual const Handle(Standard_Type)& DynamicType() const;
#define IMPLEMENT_DOWNCAST (   C1,
  BC 
)
Value:
Handle(C1) Handle(C1)::DownCast(const Handle(BC)& AnObject) \
{ \
Handle(C1) _anOtherObject; \
\
if (!AnObject.IsNull()) { \
if (AnObject->IsKind(STANDARD_TYPE(C1))) { \
_anOtherObject = Handle(C1)((Handle(C1)&)AnObject); \
} \
} \
\
return _anOtherObject ; \
}
#define STANDARD_TYPE(aType)
Definition: Standard_Macro.hxx:24
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
#define IMPLEMENT_STANDARD_HANDLE (   C1,
  C2 
)    IMPLEMENT_DOWNCAST(C1,Standard_Transient)
#define IMPLEMENT_STANDARD_PHANDLE (   C1,
  C2 
)    IMPLEMENT_DOWNCAST(C1,Standard_Persistent)
#define IMPLEMENT_STANDARD_RTTI (   C1)
Value:
const Handle(Standard_Type)& C1::DynamicType() const \
{ \
return STANDARD_TYPE(C1); \
}
#define STANDARD_TYPE(aType)
Definition: Standard_Macro.hxx:24
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
The class provides services to find out information about a type defined in CDL...
Definition: Standard_Type.hxx:39
#define IMPLEMENT_STANDARD_RTTIEXT (   C1,
  C2 
)
Value:
#define IMPLEMENT_STANDARD_RTTI(C1)
Definition: Standard_DefineHandle.hxx:96
#define IMPLEMENT_STANDARD_TYPE(C1)
Definition: Standard_DefineHandle.hxx:102
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_ENTRY(Cn)
Definition: Standard_DefineHandle.hxx:113
#define IMPLEMENT_STANDARD_SUPERTYPE(Cn)
Definition: Standard_DefineHandle.hxx:108
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()
Definition: Standard_DefineHandle.hxx:116
#define IMPLEMENT_STANDARD_TYPE_END(C1)
Definition: Standard_DefineHandle.hxx:120
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()
Definition: Standard_DefineHandle.hxx:110
#define IMPLEMENT_STANDARD_SUPERTYPE (   Cn)    /* Left to ensure source compatibility with Open CASCADE 6.3 and earlier */
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY ( )    static Handle(Standard_Transient) _Ancestors[]= {
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END ( )
Value:
NULL \
};
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_ENTRY (   Cn)    STANDARD_TYPE(Cn),
#define IMPLEMENT_STANDARD_TYPE (   C1)
Value:
static Handle(Standard_Type) aType##C1 = STANDARD_TYPE(C1); \
\
const Handle(Standard_Type)& STANDARD_TYPE(C1) \
{
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
The class provides services to find out information about a type defined in CDL...
Definition: Standard_Type.hxx:39
#define IMPLEMENT_STANDARD_TYPE_END (   C1)
Value:
static Handle(Standard_Type) _aType = new Standard_Type(#C1,sizeof(C1),1, \
(Standard_Address)_Ancestors, \
(Standard_Address)NULL); \
return _aType; \
}
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
The class provides services to find out information about a type defined in CDL...
Definition: Standard_Type.hxx:39