// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Standard_Type_HeaderFile #define _Standard_Type_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Standard_Type_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_KindOfType_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif #ifndef _Standard_Transient_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif class Standard_TypeMismatch; class Standard_NoSuchObject; class Standard_OutOfRange; class Standard_AncestorIterator; //! The class provides services to find out information
//! about a type defined in CDL.
class Standard_Type : public Standard_Transient { public: //! Returns the type name of .
Standard_EXPORT Standard_CString Name() const; //! Returns the size of in bytes.
Standard_EXPORT Standard_Integer Size() const; //! The constructor for a imported type.
Standard_EXPORT Standard_Type(const Standard_CString aName,const Standard_Integer aSize); //! The constructor for a primitive.
Standard_EXPORT Standard_Type(const Standard_CString aName,const Standard_Integer aSize,const Standard_Integer aNumberOfParent,const Standard_Address aAncestors); //! The constructor for an enumeration.
Standard_EXPORT Standard_Type(const Standard_CString aName,const Standard_Integer aSize,const Standard_Integer aNumberOfElement,const Standard_Integer aNumberOfParent,const Standard_Address anAncestors,const Standard_Address aElements); //! The constructor for a class.
Standard_EXPORT Standard_Type(const Standard_CString aName,const Standard_Integer aSize,const Standard_Integer aNumberOfParent,const Standard_Address anAncestors,const Standard_Address aFields); //! Returns "True", if is the same as ,
//! or inherits from .
//! Note that multiple inheritance is not supported.
Standard_EXPORT Standard_Boolean SubType(const Handle(Standard_Type)& aOther) const; //! Returns "True", if or one of its ancestors has the name
//! equal to theName.
//! Note that multiple inheritance is not supported.
Standard_EXPORT Standard_Boolean SubType(const Standard_CString theName) const; //! Returns "True", if the type is imported.
Standard_EXPORT Standard_Boolean IsImported() const; //! Returns "True", if the type is a primitive.
Standard_EXPORT Standard_Boolean IsPrimitive() const; //! Returns "True", if the type is an "Enumeration".
Standard_EXPORT Standard_Boolean IsEnumeration() const; //! Returns "True", if the type is a "Class".
Standard_EXPORT Standard_Boolean IsClass() const; //! Returns the number of direct parents of the class.
//!
Standard_EXPORT Standard_Integer NumberOfParent() const; //! Returns the number of ancestors of the class.
//!
Standard_EXPORT Standard_Integer NumberOfAncestor() const; //! Prints the Information about type.
Standard_EXPORT void ShallowDump() const; //! Prints the Information about type.
Standard_EXPORT void ShallowDump(Standard_OStream& S) const; //! Prints on the stream the name of Type.
//! Warning:
//! The operator "OStream& operator<< (Standard_OStream&,
//! Handle(Standard_Type)&)"
//! is implemented. (This operator uses the method Print)
//!
Standard_EXPORT void Print(Standard_OStream& s) const; Standard_EXPORT void operator<<(Standard_OStream& s) const { Print(s); } friend class Standard_AncestorIterator; DEFINE_STANDARD_RTTI(Standard_Type) protected: private: //! Returns the address of the ancestors array. It can be used only by
//! AncestorIterator.
Standard_EXPORT Standard_Address Ancestors() const; //! Just for inline.
//!
void InLineDummy() const; Standard_CString myName; Standard_Integer mySize; Standard_KindOfType myKind; Standard_Integer myNumberOfParent; Standard_Integer myNumberOfAncestor; Standard_Address myAncestors; }; #include // other Inline functions and methods (like "C++: function call" methods) inline void ShallowDump(const Handle_Standard_Type& me) { me->ShallowDump(); } inline void ShallowDump(const Handle_Standard_Type& me,Standard_OStream& S) { me->ShallowDump(S); } #endif