Open CASCADE Technology: Standard_DefineHandle.hxx File Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

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 ; \
}
STANDARD_TYPE
#define STANDARD_TYPE(aType)
Definition: Standard_Macro.hxx:24
Handle
#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); \
}
STANDARD_TYPE
#define STANDARD_TYPE(aType)
Definition: Standard_Macro.hxx:24
Handle
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
Standard_Type
The class &lt;Type&gt; provides services to find out information about a type defined in CDL...
Definition: Standard_Type.hxx:39

#define IMPLEMENT_STANDARD_RTTIEXT | ( |  | C1,
|  |  | C2
| ) |  |

Value:
IMPLEMENT_STANDARD_RTTI(C1) \
IMPLEMENT_STANDARD_TYPE(C1) \
IMPLEMENT_STANDARD_SUPERTYPE(C2) \
IMPLEMENT_STANDARD_SUPERTYPE_ARRAY() \
IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_ENTRY(C2) \
IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END() \
IMPLEMENT_STANDARD_TYPE_END(C1)
IMPLEMENT_STANDARD_RTTI
#define IMPLEMENT_STANDARD_RTTI(C1)
Definition: Standard_DefineHandle.hxx:96
IMPLEMENT_STANDARD_TYPE
#define IMPLEMENT_STANDARD_TYPE(C1)
Definition: Standard_DefineHandle.hxx:102
IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_ENTRY
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_ENTRY(Cn)
Definition: Standard_DefineHandle.hxx:113
IMPLEMENT_STANDARD_SUPERTYPE
#define IMPLEMENT_STANDARD_SUPERTYPE(Cn)
Definition: Standard_DefineHandle.hxx:108
IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END
#define IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()
Definition: Standard_DefineHandle.hxx:116
IMPLEMENT_STANDARD_TYPE_END
#define IMPLEMENT_STANDARD_TYPE_END(C1)
Definition: Standard_DefineHandle.hxx:120
IMPLEMENT_STANDARD_SUPERTYPE_ARRAY
#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) \
{
Handle
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
Standard_Type
The class &lt;Type&gt; 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; \
}
Handle
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
Standard_Type
The class &lt;Type&gt; provides services to find out information about a type defined in CDL...
Definition: Standard_Type.hxx:39