📄 classrtticlassdescriptor.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>RTTIClassDescriptor class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center><hr><h1>RTTIClassDescriptor Class Reference</h1><code>#include <<a class="el" href="class_8h-source.html">class.h</a>></code><p><p>Inheritance diagram for RTTIClassDescriptor:<p><center><img src="classRTTIClassDescriptor.png" usemap="#RTTIClassDescriptor_map" border="0"></center><map name="RTTIClassDescriptor_map"><area href="classRTTIType.html" alt="RTTIType" shape="rect" coords="0,0,127,24"></map><a href="classRTTIClassDescriptor-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptors0" doxytag="RTTIClassDescriptor::RTTIDescribeFieldsFunc"></a>typedef <a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a> *(* </td><td valign=bottom><b>RTTIDescribeFieldsFunc</b> )()</td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptors1" doxytag="RTTIClassDescriptor::RTTIDescribeMethodsFunc"></a>typedef <a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a> *(* </td><td valign=bottom><b>RTTIDescribeMethodsFunc</b> )()</td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptors2" doxytag="RTTIClassDescriptor::RTTIDefaultConstructor"></a>typedef void(* </td><td valign=bottom><b>RTTIDefaultConstructor</b> )(void *ptr)</td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptors3" doxytag="RTTIClassDescriptor::RTTICreateInstanceFunc"></a>typedef void *(* </td><td valign=bottom><b>RTTICreateInstanceFunc</b> )()</td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom><b>TypeTag</b> { <br> <b>RTTI_UNKNOWN</b>, <b>RTTI_VOID</b>, <b>RTTI_CHAR</b>, <b>RTTI_UCHAR</b>, <br> <b>RTTI_SCHAR</b>, <b>RTTI_SHORT</b>, <b>RTTI_USHORT</b>, <b>RTTI_INT</b>, <br> <b>RTTI_UINT</b>, <b>RTTI_LONG</b>, <b>RTTI_ULONG</b>, <b>RTTI_FLOAT</b>, <br> <b>RTTI_DOUBLE</b>, <b>RTTI_BOOL</b>, <b>RTTI_ARRAY</b>, <b>RTTI_STRUCT</b>, <br> <b>RTTI_PTR</b>, <b>RTTI_DERIVED</b>, <b>RTTI_METHOD</b><br> }</td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora0">getTypeName</a> (char *buf)</td></tr><tr><td nowrap align=right valign=top>RTTIClassDescriptor * </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora1">getNext</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a> ** </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora2">getFields</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora3">getNumberOfFields</a> ()</td></tr><tr><td nowrap align=right valign=top>char const * </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora4">getName</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora5">getSize</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora6">getFlags</a> ()</td></tr><tr><td nowrap align=right valign=top>void * </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora7">newInstance</a> ()</td></tr><tr><td nowrap align=right valign=top>RTTIClassDescriptor ** </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora8">getBaseClasses</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora9">getNumberOfBaseClasses</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a> ** </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora10">getMethods</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora11">getNumberOfMethods</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a> * </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora12">findField</a> (char const *name)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a> * </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora13">findMethod</a> (char const *name)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora14">RTTIClassDescriptor</a> (char const *name, int size, RTTIDescribeFieldsFunc describeFieldsFunc, RTTIDescribeMethodsFunc describeMethodsFunc, RTTICreateInstanceFunc createInstanceFunc, int flags)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora15">RTTIClassDescriptor</a> (char const *name, int size, int flags)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora16">~RTTIClassDescriptor</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea0">getTag</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea2">isBuiltin</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea3">isScalar</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea4">isArray</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea5">isPointer</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea6">isClass</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypea7">isBaseClass</a> ()</td></tr><tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep0" doxytag="RTTIClassDescriptor::voidType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>voidType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep1" doxytag="RTTIClassDescriptor::charType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>charType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep2" doxytag="RTTIClassDescriptor::ucharType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>ucharType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep3" doxytag="RTTIClassDescriptor::scharType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>scharType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep4" doxytag="RTTIClassDescriptor::shortType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>shortType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep5" doxytag="RTTIClassDescriptor::ushortType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>ushortType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep6" doxytag="RTTIClassDescriptor::intType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>intType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep7" doxytag="RTTIClassDescriptor::uintType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>uintType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep8" doxytag="RTTIClassDescriptor::longType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>longType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep9" doxytag="RTTIClassDescriptor::ulongType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>ulongType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep10" doxytag="RTTIClassDescriptor::floatType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>floatType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep11" doxytag="RTTIClassDescriptor::doubleType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>doubleType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep12" doxytag="RTTIClassDescriptor::boolType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>boolType</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypep13" doxytag="RTTIClassDescriptor::unknownType"></a><a class="el" href="classRTTIType.html">RTTIType</a> </td><td valign=bottom><b>unknownType</b></td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorb0" doxytag="RTTIClassDescriptor::buildClassDescriptor"></a>void </td><td valign=bottom><b>buildClassDescriptor</b> ()</td></tr><tr><td nowrap align=right valign=top><a name="RTTITypeb0" doxytag="RTTIClassDescriptor::destroy"></a>void </td><td valign=bottom><b>destroy</b> ()</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn0" doxytag="RTTIClassDescriptor::next"></a>RTTIClassDescriptor * </td><td valign=bottom><b>next</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn1" doxytag="RTTIClassDescriptor::collisionChain"></a>RTTIClassDescriptor * </td><td valign=bottom><b>collisionChain</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn2" doxytag="RTTIClassDescriptor::methodList"></a><a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a> * </td><td valign=bottom><b>methodList</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn3" doxytag="RTTIClassDescriptor::methods"></a><a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a> ** </td><td valign=bottom><b>methods</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn4" doxytag="RTTIClassDescriptor::nMethods"></a>int </td><td valign=bottom><b>nMethods</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn5" doxytag="RTTIClassDescriptor::fieldList"></a><a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a> * </td><td valign=bottom><b>fieldList</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn6" doxytag="RTTIClassDescriptor::fields"></a><a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a> ** </td><td valign=bottom><b>fields</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn7" doxytag="RTTIClassDescriptor::nFields"></a>int </td><td valign=bottom><b>nFields</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn8" doxytag="RTTIClassDescriptor::flags"></a>int </td><td valign=bottom><b>flags</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn9" doxytag="RTTIClassDescriptor::size"></a>int </td><td valign=bottom><b>size</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn10" doxytag="RTTIClassDescriptor::initialized"></a>bool </td><td valign=bottom><b>initialized</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn11" doxytag="RTTIClassDescriptor::name"></a>char const * </td><td valign=bottom><b>name</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn12" doxytag="RTTIClassDescriptor::hashCode"></a>unsigned </td><td valign=bottom><b>hashCode</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn13" doxytag="RTTIClassDescriptor::nBaseClasses"></a>int </td><td valign=bottom><b>nBaseClasses</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn14" doxytag="RTTIClassDescriptor::baseClasses"></a>RTTIClassDescriptor ** </td><td valign=bottom><b>baseClasses</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn15" doxytag="RTTIClassDescriptor::defaultConstructor"></a>RTTIDefaultConstructor </td><td valign=bottom><b>defaultConstructor</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorn16" doxytag="RTTIClassDescriptor::createInstanceFunc"></a>RTTICreateInstanceFunc </td><td valign=bottom><b>createInstanceFunc</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypen0" doxytag="RTTIClassDescriptor::tag"></a>int </td><td valign=bottom><b>tag</b></td></tr><tr><td colspan=2><br><h2>Friends</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorl0" doxytag="RTTIClassDescriptor::RTTIRepository"></a>class </td><td valign=bottom><a class="el" href="classRTTIRepository.html#RTTIClassDescriptorl0">RTTIRepository</a></td></tr><tr><td nowrap align=right valign=top><a name="RTTIClassDescriptorl1" doxytag="RTTIClassDescriptor::RTTIBfdRepository"></a>class </td><td valign=bottom><b>RTTIBfdRepository</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypel0" doxytag="RTTIClassDescriptor::RTTIClassDescriptor"></a>class </td><td valign=bottom><a class="el" href="classRTTIClassDescriptor.html#RTTITypel0">RTTIClassDescriptor</a></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypel1" doxytag="RTTIClassDescriptor::RTTIFieldDescriptor"></a>class </td><td valign=bottom><a class="el" href="classRTTIFieldDescriptor.html#RTTITypel1">RTTIFieldDescriptor</a></td></tr><tr><td nowrap align=right valign=top><a name="RTTITypel2" doxytag="RTTIClassDescriptor::RTTIMethodDescriptor"></a>class </td><td valign=bottom><a class="el" href="classRTTIMethodDescriptor.html#RTTITypel2">RTTIMethodDescriptor</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Class descriptor <p><hr><h2>Constructor & Destructor Documentation</h2><a name="RTTIClassDescriptora14" doxytag="RTTIClassDescriptor::RTTIClassDescriptor"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> RTTIClassDescriptor::RTTIClassDescriptor </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">char const * </td> <td class="mdname" nowrap> <em>name</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>size</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>RTTIDescribeFieldsFunc </td> <td class="mdname" nowrap> <em>describeFieldsFunc</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>RTTIDescribeMethodsFunc </td> <td class="mdname" nowrap> <em>describeMethodsFunc</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>RTTICreateInstanceFunc </td> <td class="mdname" nowrap> <em>createInstanceFunc</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>flags</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create and initialize class descriptor from information provided by programmer (typdecl.h) This constructor requires functions returning list of components instead of lists themselve, because these component descriptors should be created in context this DLL. <dl compact><dt><b>Parameters: </b><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>name</em> </td><td>name of the class. </td></tr><tr><td valign=top><em>size</em> </td><td>size of the class instance. </td></tr><tr><td valign=top><em>describeFieldsFunc</em> </td><td>function which returns list of fields </td></tr><tr><td valign=top><em>describeMethodsFunc</em> </td><td>function which returns list of methods </td></tr><tr><td valign=top><em>function</em> </td><td>which invokes default ontructor to create instance of the class </td></tr><tr><td valign=top><em>flags</em> </td><td>flags associated with the class </td></tr></table></dl> </td> </tr></table><a name="RTTIClassDescriptora15" doxytag="RTTIClassDescriptor::RTTIClassDescriptor"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> RTTIClassDescriptor::RTTIClassDescriptor </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">char const * </td> <td class="mdname" nowrap> <em>name</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>size</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>flags</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create class descriptor for class loaded from debug information <dl compact><dt><b>Parameters: </b><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>name</em> </td><td>name of the class. </td></tr><tr><td valign=top><em>size</em> </td><td>size of the class instance. </td></tr><tr><td valign=top><em>flags</em> </td><td>flags associated with the class </td></tr></table></dl> </td> </tr></table><a name="RTTIClassDescriptora16" doxytag="RTTIClassDescriptor::~RTTIClassDescriptor"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> RTTIClassDescriptor::~RTTIClassDescriptor </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Class descriptor desctructor </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="RTTIClassDescriptora12" doxytag="RTTIClassDescriptor::findField"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -