<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>OpenSceneGraph: osgIntrospection::ExtendedTypeInfo Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="a01633.html">osgIntrospection</a> </li> <li><a class="el" href="a00262.html">osgIntrospection::ExtendedTypeInfo</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <h1>osgIntrospection::ExtendedTypeInfo Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="osgIntrospection::ExtendedTypeInfo" --> <p>This class is a wrapper for std::type_info that also records whether a type is a reference or const reference. <a href="#_details">More...</a></p> <p><a href="a02809.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#ab110938784a1fc4808ca048c30fe4f39">ExtendedTypeInfo</a> (const std::type_info &ti, bool isReference, bool isConstReference)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#a50ef696226ad6aafaa4cee39322db026">operator<</a> (const <a class="el" href="a00262.html">ExtendedTypeInfo</a> &other) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Orders <a class="el" href="a00262.html" title="This class is a wrapper for std::type_info that also records whether a type is a reference or const r...">ExtendedTypeInfo</a> based first on std::type_info, then on reference, then on const reference. <a href="#a50ef696226ad6aafaa4cee39322db026"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#a340ee5a4f91f28a27d3c4545fd6da3f1">operator==</a> (const <a class="el" href="a00262.html">ExtendedTypeInfo</a> &other) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if *this and other are the same type. <a href="#a340ee5a4f91f28a27d3c4545fd6da3f1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const std::type_info & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#a1827b4fdfc5f622ec02a7db7d4aee854">getStdTypeInfo</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the std::type_info object for this type. <a href="#a1827b4fdfc5f622ec02a7db7d4aee854"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#a79320f109b3011bfd0ab091c3dfb190b">isReference</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if this type is a reference or const reference. <a href="#a79320f109b3011bfd0ab091c3dfb190b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#ac08d60f74fb33eafaff4356c9e1e53e7">isConstReference</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if this type is a const reference. <a href="#ac08d60f74fb33eafaff4356c9e1e53e7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#acb172013ea797ddcb1d8fbc5150d4a26">name</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the name of this type, based on the std::type_info name. <a href="#acb172013ea797ddcb1d8fbc5150d4a26"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This class is a wrapper for std::type_info that also records whether a type is a reference or const reference. </p> <p>It permits <a class="el" href="a01633.html" title="The osgIntrospection library provides the an introspection/reflection framework for non intrusive run...">osgIntrospection</a> to make use of reference information that is ignored by typeid(), and to generate reference types based on it. The <a class="el" href="a00262.html" title="This class is a wrapper for std::type_info that also records whether a type is a reference or const r...">ExtendedTypeInfo</a> for a class can be produced via the <a class="el" href="a01418.html#a69d3b209a2c3ba772e79fd9461fdf1d2" title="extended_typeid works like typeid, but returns an ExtendedTypeInfo.">extended_typeid()</a> functions, analogous to typeid(). </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ab110938784a1fc4808ca048c30fe4f39"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::ExtendedTypeInfo" ref="ab110938784a1fc4808ca048c30fe4f39" args="(const std::type_info &ti, bool isReference, bool isConstReference)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgIntrospection::ExtendedTypeInfo::ExtendedTypeInfo </td> <td>(</td> <td class="paramtype">const std::type_info & </td> <td class="paramname"> <em>ti</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>isReference</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>isConstReference</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a1827b4fdfc5f622ec02a7db7d4aee854"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::getStdTypeInfo" ref="a1827b4fdfc5f622ec02a7db7d4aee854" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::type_info& osgIntrospection::ExtendedTypeInfo::getStdTypeInfo </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the std::type_info object for this type. </p> <p>Referenced by <a class="el" href="a00940.html#a409e13f0f711fcf41f3d6d1aafa253e4">osgIntrospection::Type::getStdTypeInfo()</a>.</p> </div> </div> <a class="anchor" id="ac08d60f74fb33eafaff4356c9e1e53e7"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::isConstReference" ref="ac08d60f74fb33eafaff4356c9e1e53e7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osgIntrospection::ExtendedTypeInfo::isConstReference </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns true if this type is a const reference. </p> </div> </div> <a class="anchor" id="a79320f109b3011bfd0ab091c3dfb190b"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::isReference" ref="a79320f109b3011bfd0ab091c3dfb190b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osgIntrospection::ExtendedTypeInfo::isReference </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns true if this type is a reference or const reference. </p> </div> </div> <a class="anchor" id="acb172013ea797ddcb1d8fbc5150d4a26"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::name" ref="acb172013ea797ddcb1d8fbc5150d4a26" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string osgIntrospection::ExtendedTypeInfo::name </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the name of this type, based on the std::type_info name. </p> </div> </div> <a class="anchor" id="a50ef696226ad6aafaa4cee39322db026"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::operator<" ref="a50ef696226ad6aafaa4cee39322db026" args="(const ExtendedTypeInfo &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osgIntrospection::ExtendedTypeInfo::operator< </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00262.html">ExtendedTypeInfo</a> & </td> <td class="paramname"> <em>other</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Orders <a class="el" href="a00262.html" title="This class is a wrapper for std::type_info that also records whether a type is a reference or const r...">ExtendedTypeInfo</a> based first on std::type_info, then on reference, then on const reference. </p> <p>Note that we can't rely on default pointer comparison for std::type_info because it is not guaranteed that &typeid(T) always returns the same pointer for a given T (thanks Andrew Koenig). </p> </div> </div> <a class="anchor" id="a340ee5a4f91f28a27d3c4545fd6da3f1"></a><!-- doxytag: member="osgIntrospection::ExtendedTypeInfo::operator==" ref="a340ee5a4f91f28a27d3c4545fd6da3f1" args="(const ExtendedTypeInfo &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osgIntrospection::ExtendedTypeInfo::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00262.html">ExtendedTypeInfo</a> & </td> <td class="paramname"> <em>other</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns true if *this and other are the same type. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>osgIntrospection/<a class="el" href="a01418.html">ExtendedTypeInfo</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Thu Aug 19 2010 16:22:44 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.1.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>