Open CASCADE Technology
7.6.0
|
#include <Standard.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Transient.hxx>
#include <Standard_OStream.hxx>
#include <typeinfo>
Data Structures | |
class | Standard_Type |
This class provides legacy interface (type descriptor) to run-time type information (RTTI) for OCCT classes inheriting from Standard_Transient. More... | |
class | opencascade::type_instance< T > |
Template class providing instantiation of type descriptors as singletons. The descriptors are defined as static variables in function get(), which is essential to ensure that they are initialized in correct sequence. More... | |
class | opencascade::type_instance< void > |
Specialization of type descriptor instance for void; returns null handle. More... | |
Namespaces | |
opencascade | |
Namespace opencascade is intended for low-level template classes and functions. | |
Macros | |
#define | OCCT_CHECK_BASE_CLASS(Class, Base) static_assert(opencascade::is_base_but_not_same<Base, Class>::value, "OCCT RTTI definition is incorrect: " #Base " is not base class of " #Class); |
#define | STANDARD_TYPE(theType) theType::get_type_descriptor() |
Helper macro to get instance of a type descriptor for a class in a legacy way. More... | |
#define | DEFINE_STANDARD_RTTI_INLINE(Class, Base) |
Helper macro to be included in definition of the classes inheriting Standard_Transient to enable use of OCCT RTTI. More... | |
#define | DEFINE_STANDARD_RTTIEXT(Class, Base) |
Helper macro to be included in definition of the classes inheriting Standard_Transient to enable use of OCCT RTTI. More... | |
#define | IMPLEMENT_STANDARD_RTTIEXT(Class, Base) |
Defines implementation of type descriptor and DynamicType() function. More... | |
Functions | |
Standard_OStream & | operator<< (Standard_OStream &theStream, const Handle< Standard_Type > &theType) |
Operator printing type descriptor to stream. More... | |
#define DEFINE_STANDARD_RTTI_INLINE | ( | Class, | |
Base | |||
) |
Helper macro to be included in definition of the classes inheriting Standard_Transient to enable use of OCCT RTTI.
Inline version, does not require IMPLEMENT_STANDARD_RTTIEXT, but when used for big hierarchies of classes may cause considerable increase of size of binaries.
#define DEFINE_STANDARD_RTTIEXT | ( | Class, | |
Base | |||
) |
Helper macro to be included in definition of the classes inheriting Standard_Transient to enable use of OCCT RTTI.
Out-of-line version, requires IMPLEMENT_STANDARD_RTTIEXT.
#define IMPLEMENT_STANDARD_RTTIEXT | ( | Class, | |
Base | |||
) |
Defines implementation of type descriptor and DynamicType() function.
#define OCCT_CHECK_BASE_CLASS | ( | Class, | |
Base | |||
) | static_assert(opencascade::is_base_but_not_same<Base, Class>::value, "OCCT RTTI definition is incorrect: " #Base " is not base class of " #Class); |
#define STANDARD_TYPE | ( | theType | ) | theType::get_type_descriptor() |
Helper macro to get instance of a type descriptor for a class in a legacy way.
|
inline |
Operator printing type descriptor to stream.