<!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::Reflector< T > Class Template 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.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">OpenSceneGraph <span id="projectnumber">2.8.4</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" 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 id="navrow2" 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="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01633.html">osgIntrospection</a> </li> <li class="navelem"><a class="el" href="a00631.html">Reflector</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <div class="title">osgIntrospection::Reflector< T > Class Template Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="osgIntrospection::Reflector" --> <p>A <a class="el" href="a00631.html" title="A Reflector is a proxy class that is used to create a new description of a given type.">Reflector</a> is a proxy class that is used to create a new description of a given type. <a href="a00631.html#details">More...</a></p> <div class="dynheader"> Inheritance diagram for osgIntrospection::Reflector< T >:</div> <div class="dyncontent"> <div class="center"><img src="a02598.png" border="0" usemap="#osgIntrospection_1_1Reflector_3_01T_01_4_inherit__map" alt="Inheritance graph"/></div> <map name="osgIntrospection_1_1Reflector_3_01T_01_4_inherit__map" id="osgIntrospection_1_1Reflector_3_01T_01_4_inherit__map"> <area shape="rect" id="node3" href="a00001.html" title="This reflector is to be used to describe abstract types that can't be instantiated." alt="" coords="303,85,655,115"/><area shape="rect" id="node5" href="a00505.html" title="This reflector is to be used to describe types that ought to be created on the heap." alt="" coords="332,139,625,168"/><area shape="rect" id="node7" href="a01056.html" title="This reflector ought to be used to describe types that can be created on the stack." alt="" coords="337,192,620,221"/><area shape="rect" id="node9" href="a00036.html" title="This reflector is a ValueReflector that should be used to define types that can be read and written f..." alt="" coords="711,5,1041,35"/><area shape="rect" id="node11" href="a00252.html" title="This reflector is a ValueReflector that should be used to define enumerations." alt="" coords="733,59,1019,88"/><area shape="rect" id="node13" href="a00825.html" title="This class allows to define the means for reflecting STL containers that cannot be indexed directly..." alt="" coords="729,112,1023,141"/><area shape="rect" id="node15" href="a00826.html" title="This class allows to define the means for reflecting STL associative containers which hold pairs of k..." alt="" coords="727,165,1025,195"/><area shape="rect" id="node17" href="a00827.html" title="osgIntrospection::StdPairReflector\< T \>" alt="" coords="729,219,1023,248"/><area shape="rect" id="node19" href="a00829.html" title="This class allows to define the means for reflecting STL containers such as std::set and std::multise..." alt="" coords="729,272,1023,301"/><area shape="rect" id="node21" href="a00830.html" title="This class allows to define the means for reflecting STL containers such as std::deque and std::vecto..." alt="" coords="719,325,1033,355"/><area shape="rect" id="node23" href="a01103.html" title="osgIntrospection::WAtomicValueReflector\< T \>" alt="" coords="705,379,1047,408"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a02599.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>ConstPtrConstructor</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>PtrConstructor</b></td></tr> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a25b9e5e68ab8c93f44b9d11db75cba19">reflected_type</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00631.html">Reflector</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a4a2c4d251a0a6e723ec32b86f23c70e3">inherited</a></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a5ee194f192fbecf0a8e039e1abeb87a2">~Reflector</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <a href="#a5ee194f192fbecf0a8e039e1abeb87a2"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#aa6bd470d5d11c78720dddfa982e651a1">Reflector</a> (const std::string &name, const std::string &ns, bool abstract=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Direct initialization constructor. <a href="#aa6bd470d5d11c78720dddfa982e651a1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#adb33ad56d1c9501a00fe35d08a697b6f">Reflector</a> (const std::string &qname, bool abstract=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Direct initialization constructor. <a href="#adb33ad56d1c9501a00fe35d08a697b6f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00940.html">Type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a1e945e8ac7517f9c18374865acde2f42">getType</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="a00940.html" title="Objects of class Type are used to maintain information about reflected types.">Type</a> object being described. <a href="#a1e945e8ac7517f9c18374865acde2f42"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#ae0def18cab388074747a5ecf91a8d427">addBaseType</a> (const <a class="el" href="a00940.html">Type</a> &type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Declares a new base type for the current type. <a href="#ae0def18cab388074747a5ecf91a8d427"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#ac131391721ab83b14164535e572476fd">setComparator</a> (const <a class="el" href="a00117.html">Comparator</a> *cmp)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the comparator object for the current type. <a href="#ac131391721ab83b14164535e572476fd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00591.html">PropertyInfo</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a1166047ebed55d5f6693f0f385566a65">addProperty</a> (<a class="el" href="a00591.html">PropertyInfo</a> *pi)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a property description to the current type. <a href="#a1166047ebed55d5f6693f0f385566a65"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00468.html">MethodInfo</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#ad3571177bf963015aec9f5eeb0760f3b">addMethod</a> (<a class="el" href="a00468.html">MethodInfo</a> *mi)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a method description to the current type. <a href="#ad3571177bf963015aec9f5eeb0760f3b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00468.html">MethodInfo</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#af55d42343d35909bb77e751d247525df">addProtectedMethod</a> (<a class="el" href="a00468.html">MethodInfo</a> *mi)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a protected method description to the current type. <a href="#af55d42343d35909bb77e751d247525df"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#ab41b267b4ba52714fccaab22303ee488">addEnumLabel</a> (int v, const std::string &label, bool strip_namespace=true)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds an enumeration label to the current type. <a href="#ab41b267b4ba52714fccaab22303ee488"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00144.html">ConstructorInfo</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#ab5ad06235848712aafdcccfacfe4f035">addConstructor</a> (<a class="el" href="a00144.html">ConstructorInfo</a> *ci)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a constructor description to the current type. <a href="#ab5ad06235848712aafdcccfacfe4f035"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00144.html">ConstructorInfo</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#ac1273cfdd6bc0a9b2b1a87a5e743bf02">addProtectedConstructor</a> (<a class="el" href="a00144.html">ConstructorInfo</a> *ci)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a protected constructor description to the current type. <a href="#ac1273cfdd6bc0a9b2b1a87a5e743bf02"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a295c329a35713dce80c558f32012ceee">qualifyName</a> (const std::string &name) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the qualified version of 'name'. <a href="#a295c329a35713dce80c558f32012ceee"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00184.html">CustomAttributeProvider</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a479e4ecaca312ca16531261ec11d5e32">addAttribute</a> (const <a class="el" href="a00183.html">CustomAttribute</a> *attrib)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a custom attribute to the type being described. <a href="#a479e4ecaca312ca16531261ec11d5e32"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#abe4687db42f4d0a94c411952d8a9ea76">setReaderWriter</a> (const <a class="el" href="a00616.html">ReaderWriter</a> *rw)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the current type's <a class="el" href="a00616.html" title="This is the base class for reader/writer objects.">ReaderWriter</a> object. <a href="#abe4687db42f4d0a94c411952d8a9ea76"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00631.html#a1738373b3652cda050c10c31b228703a">setDeclaringFile</a> (const std::string &file) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the current type's declaring file. <a href="#a1738373b3652cda050c10c31b228703a"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<typename T><br/> class osgIntrospection::Reflector< T ></h3> <p>A <a class="el" href="a00631.html" title="A Reflector is a proxy class that is used to create a new description of a given type.">Reflector</a> is a proxy class that is used to create a new description of a given type. </p> <p>If the type to be described is simple and doesn't require additional details such as properties and methods, it can be reflected by simply creating a global instance of one of the classes derived from <a class="el" href="a00631.html" title="A Reflector is a proxy class that is used to create a new description of a given type.">Reflector</a>, for example <a class="el" href="a01056.html" title="This reflector ought to be used to describe types that can be created on the stack.">ValueReflector</a>. Other types may need further information and therefore it could be necessary to create a new subclass of <a class="el" href="a00631.html" title="A Reflector is a proxy class that is used to create a new description of a given type.">Reflector</a> or extend one of the existing subclasses. The reflected type can be set by calling Reflector's protected methods.</p> <p>NOTE: when you create a <a class="el" href="a00631.html" title="A Reflector is a proxy class that is used to create a new description of a given type.">Reflector</a> for type T, it will automatically create descriptions for types T*, const T*, T&, and const T&. You should NEVER create reflectors for pointer or reference types explicitly. </p> </div><hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a4a2c4d251a0a6e723ec32b86f23c70e3"></a><!-- doxytag: member="osgIntrospection::Reflector::inherited" ref="a4a2c4d251a0a6e723ec32b86f23c70e3" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="a00631.html">Reflector</a><T> <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::<a class="el" href="a00631.html">inherited</a></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented in <a class="el" href="a01056.html#a1289f0d63be495a5105efb7284e5d7c9">osgIntrospection::ValueReflector< T ></a>, <a class="el" href="a00001.html#a6dd242959d8e0c57e85cc598081df4d5">osgIntrospection::AbstractObjectReflector< T ></a>, <a class="el" href="a00505.html#aa69e31c90fde31494ee9a94849fcf0c1">osgIntrospection::ObjectReflector< T ></a>, and <a class="el" href="a00252.html#af3f13fbfa6ffe38c5be1c6777b540e29">osgIntrospection::EnumReflector< T ></a>.</p> </div> </div> <a class="anchor" id="a25b9e5e68ab8c93f44b9d11db75cba19"></a><!-- doxytag: member="osgIntrospection::Reflector::reflected_type" ref="a25b9e5e68ab8c93f44b9d11db75cba19" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">typedef T <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::<a class="el" href="a00631.html#a25b9e5e68ab8c93f44b9d11db75cba19">reflected_type</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a5ee194f192fbecf0a8e039e1abeb87a2"></a><!-- doxytag: member="osgIntrospection::Reflector::~Reflector" ref="a5ee194f192fbecf0a8e039e1abeb87a2" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::~<a class="el" href="a00631.html">Reflector</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Virtual destructor. </p> </div> </div> <a class="anchor" id="aa6bd470d5d11c78720dddfa982e651a1"></a><!-- doxytag: member="osgIntrospection::Reflector::Reflector" ref="aa6bd470d5d11c78720dddfa982e651a1" args="(const std::string &name, const std::string &ns, bool abstract=false)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::<a class="el" href="a00631.html">Reflector</a> </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>ns</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>abstract</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Direct initialization constructor. </p> <p>Parameter 'name' is the name of the type being reflected and 'ns' is its namespace. </p> </div> </div> <a class="anchor" id="adb33ad56d1c9501a00fe35d08a697b6f"></a><!-- doxytag: member="osgIntrospection::Reflector::Reflector" ref="adb33ad56d1c9501a00fe35d08a697b6f" args="(const std::string &qname, bool abstract=false)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::<a class="el" href="a00631.html">Reflector</a> </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>qname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>abstract</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Direct initialization constructor. </p> <p>Parameter 'qname' is the fully-qualified name of the type being reflected, i.e. containing both the namespace and the name (separated by "::"). </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a479e4ecaca312ca16531261ec11d5e32"></a><!-- doxytag: member="osgIntrospection::Reflector::addAttribute" ref="a479e4ecaca312ca16531261ec11d5e32" args="(const CustomAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00184.html">CustomAttributeProvider</a> * <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addAttribute </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00183.html">CustomAttribute</a> * </td> <td class="paramname"><em>attrib</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a custom attribute to the type being described. </p> <p>References <a class="el" href="a00184.html#ac61d519487007f9cc78bc4a7322a0451">osgIntrospection::CustomAttributeProvider::addAttribute()</a>.</p> </div> </div> <a class="anchor" id="ae0def18cab388074747a5ecf91a8d427"></a><!-- doxytag: member="osgIntrospection::Reflector::addBaseType" ref="ae0def18cab388074747a5ecf91a8d427" args="(const Type &type)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addBaseType </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00940.html">Type</a> & </td> <td class="paramname"><em>type</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Declares a new base type for the current type. </p> </div> </div> <a class="anchor" id="ab5ad06235848712aafdcccfacfe4f035"></a><!-- doxytag: member="osgIntrospection::Reflector::addConstructor" ref="ab5ad06235848712aafdcccfacfe4f035" args="(ConstructorInfo *ci)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00144.html">ConstructorInfo</a> * <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addConstructor </td> <td>(</td> <td class="paramtype"><a class="el" href="a00144.html">ConstructorInfo</a> * </td> <td class="paramname"><em>ci</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a constructor description to the current type. </p> <p>As soon as a constructor is added through this method, the automatically-generated default constructor is removed. </p> <p>Referenced by <a class="el" href="a00036.html#a777dd2547c04e5cd60827e6f4c681262">osgIntrospection::AtomicValueReflector< T >::AtomicValueReflector()</a>, <a class="el" href="a00252.html#a807d2e5f6aaf0187ef21a4f0c9d9c27d">osgIntrospection::EnumReflector< T >::EnumReflector()</a>, <a class="el" href="a00825.html#ae12f317a9e4e7ba887ae2587556ea4d8">osgIntrospection::StdListReflector< T, VT >::StdListReflector()</a>, <a class="el" href="a00826.html#a3ddc14341d56257a623b742e32074d50">osgIntrospection::StdMapReflector< T, IT, VT >::StdMapReflector()</a>, <a class="el" href="a00827.html#a2bcc0b2086be5fabdf3c98e49b5c8e5c">osgIntrospection::StdPairReflector< T, PT1, PT2 >::StdPairReflector()</a>, <a class="el" href="a00829.html#ab5e47699b231c6ea9be9b7b9288e314f">osgIntrospection::StdSetReflector< T, VT >::StdSetReflector()</a>, <a class="el" href="a00830.html#a8191eb42e349bb63474bb37d0ee80fae">osgIntrospection::StdVectorReflector< T, VT >::StdVectorReflector()</a>, and <a class="el" href="a01103.html#a63dfd4a683b33ce1b16c68db1d335dde">osgIntrospection::WAtomicValueReflector< T >::WAtomicValueReflector()</a>.</p> </div> </div> <a class="anchor" id="ab41b267b4ba52714fccaab22303ee488"></a><!-- doxytag: member="osgIntrospection::Reflector::addEnumLabel" ref="ab41b267b4ba52714fccaab22303ee488" args="(int v, const std::string &label, bool strip_namespace=true)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addEnumLabel </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>label</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>strip_namespace</em> = <code>true</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds an enumeration label to the current type. </p> </div> </div> <a class="anchor" id="ad3571177bf963015aec9f5eeb0760f3b"></a><!-- doxytag: member="osgIntrospection::Reflector::addMethod" ref="ad3571177bf963015aec9f5eeb0760f3b" args="(MethodInfo *mi)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00468.html">MethodInfo</a> * <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addMethod </td> <td>(</td> <td class="paramtype"><a class="el" href="a00468.html">MethodInfo</a> * </td> <td class="paramname"><em>mi</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a method description to the current type. </p> <p>References <a class="el" href="a00468.html#a33cb4878797bb6626fdab6151cee088b">osgIntrospection::MethodInfo::overrides()</a>.</p> </div> </div> <a class="anchor" id="a1166047ebed55d5f6693f0f385566a65"></a><!-- doxytag: member="osgIntrospection::Reflector::addProperty" ref="a1166047ebed55d5f6693f0f385566a65" args="(PropertyInfo *pi)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00591.html">PropertyInfo</a> * <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addProperty </td> <td>(</td> <td class="paramtype"><a class="el" href="a00591.html">PropertyInfo</a> * </td> <td class="paramname"><em>pi</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a property description to the current type. </p> <p>Referenced by <a class="el" href="a00825.html#ae12f317a9e4e7ba887ae2587556ea4d8">osgIntrospection::StdListReflector< T, VT >::StdListReflector()</a>, <a class="el" href="a00826.html#a3ddc14341d56257a623b742e32074d50">osgIntrospection::StdMapReflector< T, IT, VT >::StdMapReflector()</a>, <a class="el" href="a00827.html#a2bcc0b2086be5fabdf3c98e49b5c8e5c">osgIntrospection::StdPairReflector< T, PT1, PT2 >::StdPairReflector()</a>, <a class="el" href="a00829.html#ab5e47699b231c6ea9be9b7b9288e314f">osgIntrospection::StdSetReflector< T, VT >::StdSetReflector()</a>, and <a class="el" href="a00830.html#a8191eb42e349bb63474bb37d0ee80fae">osgIntrospection::StdVectorReflector< T, VT >::StdVectorReflector()</a>.</p> </div> </div> <a class="anchor" id="ac1273cfdd6bc0a9b2b1a87a5e743bf02"></a><!-- doxytag: member="osgIntrospection::Reflector::addProtectedConstructor" ref="ac1273cfdd6bc0a9b2b1a87a5e743bf02" args="(ConstructorInfo *ci)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00144.html">ConstructorInfo</a> * <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addProtectedConstructor </td> <td>(</td> <td class="paramtype"><a class="el" href="a00144.html">ConstructorInfo</a> * </td> <td class="paramname"><em>ci</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a protected constructor description to the current type. </p> </div> </div> <a class="anchor" id="af55d42343d35909bb77e751d247525df"></a><!-- doxytag: member="osgIntrospection::Reflector::addProtectedMethod" ref="af55d42343d35909bb77e751d247525df" args="(MethodInfo *mi)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00468.html">MethodInfo</a> * <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::addProtectedMethod </td> <td>(</td> <td class="paramtype"><a class="el" href="a00468.html">MethodInfo</a> * </td> <td class="paramname"><em>mi</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a protected method description to the current type. </p> <p>References <a class="el" href="a00468.html#a33cb4878797bb6626fdab6151cee088b">osgIntrospection::MethodInfo::overrides()</a>.</p> </div> </div> <a class="anchor" id="a1e945e8ac7517f9c18374865acde2f42"></a><!-- doxytag: member="osgIntrospection::Reflector::getType" ref="a1e945e8ac7517f9c18374865acde2f42" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00940.html">Type</a>* <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::getType </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the <a class="el" href="a00940.html" title="Objects of class Type are used to maintain information about reflected types.">Type</a> object being described. </p> </div> </div> <a class="anchor" id="a295c329a35713dce80c558f32012ceee"></a><!-- doxytag: member="osgIntrospection::Reflector::qualifyName" ref="a295c329a35713dce80c558f32012ceee" args="(const std::string &name) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">std::string <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::qualifyName </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>name</em></td><td>)</td> <td> const<code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a string containing the qualified version of 'name'. </p> </div> </div> <a class="anchor" id="ac131391721ab83b14164535e572476fd"></a><!-- doxytag: member="osgIntrospection::Reflector::setComparator" ref="ac131391721ab83b14164535e572476fd" args="(const Comparator *cmp)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::setComparator </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00117.html">Comparator</a> * </td> <td class="paramname"><em>cmp</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the comparator object for the current type. </p> <p>Referenced by <a class="el" href="a00036.html#a777dd2547c04e5cd60827e6f4c681262">osgIntrospection::AtomicValueReflector< T >::AtomicValueReflector()</a>, <a class="el" href="a00252.html#a807d2e5f6aaf0187ef21a4f0c9d9c27d">osgIntrospection::EnumReflector< T >::EnumReflector()</a>, and <a class="el" href="a01103.html#a63dfd4a683b33ce1b16c68db1d335dde">osgIntrospection::WAtomicValueReflector< T >::WAtomicValueReflector()</a>.</p> </div> </div> <a class="anchor" id="a1738373b3652cda050c10c31b228703a"></a><!-- doxytag: member="osgIntrospection::Reflector::setDeclaringFile" ref="a1738373b3652cda050c10c31b228703a" args="(const std::string &file) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::setDeclaringFile </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>file</em></td><td>)</td> <td> const<code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the current type's declaring file. </p> </div> </div> <a class="anchor" id="abe4687db42f4d0a94c411952d8a9ea76"></a><!-- doxytag: member="osgIntrospection::Reflector::setReaderWriter" ref="abe4687db42f4d0a94c411952d8a9ea76" args="(const ReaderWriter *rw)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00631.html">osgIntrospection::Reflector</a>< T >::setReaderWriter </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00616.html">ReaderWriter</a> * </td> <td class="paramname"><em>rw</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the current type's <a class="el" href="a00616.html" title="This is the base class for reader/writer objects.">ReaderWriter</a> object. </p> <p>Referenced by <a class="el" href="a00036.html#a777dd2547c04e5cd60827e6f4c681262">osgIntrospection::AtomicValueReflector< T >::AtomicValueReflector()</a>, <a class="el" href="a00252.html#a807d2e5f6aaf0187ef21a4f0c9d9c27d">osgIntrospection::EnumReflector< T >::EnumReflector()</a>, and <a class="el" href="a01103.html#a63dfd4a683b33ce1b16c68db1d335dde">osgIntrospection::WAtomicValueReflector< T >::WAtomicValueReflector()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>osgIntrospection/<a class="el" href="a01426.html">Reflector</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Tue May 31 2011 04:19:35 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>