📄 classrttirepository.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>RTTIRepository 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>RTTIRepository Class Reference</h1><code>#include <<a class="el" href="reflect_8h-source.html">reflect.h</a>></code><p><a href="classRTTIRepository-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a> * </td><td valign=bottom><a class="el" href="classRTTIRepository.html#RTTIRepositorya0">getFirstClass</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a> * </td><td valign=bottom><a class="el" href="classRTTIRepository.html#RTTIRepositorya1">findClass</a> (char const *name)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classRTTIRepository.html#RTTIRepositorya2">addClass</a> (<a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a> *cls)</td></tr><tr><td nowrap align=right valign=top>virtual bool </td><td valign=bottom><a class="el" href="classRTTIRepository.html#RTTIRepositorya3">load</a> (char const *filePath)</td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>RTTIRepository * </td><td valign=bottom><a class="el" href="classRTTIRepository.html#RTTIRepositoryd0">getInstance</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTIRepositoryn0" doxytag="RTTIRepository::classes"></a><a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a> * </td><td valign=bottom><b>classes</b></td></tr><tr><td nowrap align=right valign=top><a name="RTTIRepositoryn1" doxytag="RTTIRepository::hashTable"></a><a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a> * </td><td valign=bottom><b>hashTable</b> [RTTI_CLASS_HASH_SIZE]</td></tr><tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a name="RTTIRepositoryq0" doxytag="RTTIRepository::theRepository"></a>RTTIRepository </td><td valign=bottom><b>theRepository</b></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Repository with runtime type information <p><hr><h2>Member Function Documentation</h2><a name="RTTIRepositorya2" doxytag="RTTIRepository::addClass"></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"> bool RTTIRepository::addClass </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a> * </td> <td class="mdname1" valign="top" nowrap> <em>cls</em> </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>Add new class descriptor to the repository <dl compact><dt><b>Parameters: </b><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>cls</em> </td><td>new class descriptor </td></tr></table></dl> </td> </tr></table><a name="RTTIRepositorya1" doxytag="RTTIRepository::findClass"></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"> <a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a>* RTTIRepository::findClass </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">char const * </td> <td class="mdname1" valign="top" nowrap> <em>name</em> </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>Find class with specified name <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></table></dl><dl compact><dt><b>Returns: </b><dd>class descriptor with specified name or <code>NULL</code> if not found </dl> </td> </tr></table><a name="RTTIRepositorya0" doxytag="RTTIRepository::getFirstClass"></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"> <a class="el" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a>* RTTIRepository::getFirstClass </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get first class in repostiory. Classes in repository are linked in L1 list. <code><a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora1">RTTIClassDescriptor::getNext</a>()</code> method can be used to iterate through elements of this list <dl compact><dt><b>Returns: </b><dd>head element of L1 list of classes </dl> </td> </tr></table><a name="RTTIRepositoryd0" doxytag="RTTIRepository::getInstance"></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"> RTTIRepository* RTTIRepository::getInstance </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get instance of repostory <dl compact><dt><b>Returns: </b><dd>instance of repository </dl> </td> </tr></table><a name="RTTIRepositorya3" doxytag="RTTIRepository::load"></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"> virtual bool RTTIRepository::load </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">char const * </td> <td class="mdname1" valign="top" nowrap> <em>filePath</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Load type information from specified file. Implementation of this method in this always return false. At this moment there is only one other source of extracting type information - executable files in ELF format compiled with debug information. To be able to extract type information from debug information, you should use <code>RTTIBfdRepository</code> class derived from <code>RTTIRepostiory</code> class and overriding thids method. <dl compact><dt><b>Parameters: </b><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>filePath</em> </td><td>path to the file contaning type information. </td></tr></table></dl><dl compact><dt><b>Returns: </b><dd><code>true</code> if infomation was successfully loaded, <code>false</code> otherwise </dl> </td> </tr></table><hr>The documentation for this class was generated from the following file:<ul><li><a class="el" href="reflect_8h-source.html">reflect.h</a></ul><hr><address align="right"><small>Generated on Fri Apr 26 17:39:24 2002 for CppReflection by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -