<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>OpenVRML: openvrml::FieldValueConcept< T > Struct Template Reference</title> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <link rel="icon" href="../vrml-16"> <link rel="start" href="http://openvrml.org/index" title="OpenVRML Home"> <link rel="prev" href="http://openvrml.org/discussion" title="Discussion"> <link rel="contents" href="index" title="Documentation Main Page"> <link rel="index" href="functions" title="OpenVRML Compound Members"> <link rel="appendix" href="conformance" title="Conformance Test Results"> <style type="text/css"> @import url("tabs.css"); @import url("http://openvrml.org/openvrml.css"); table { width: 100%; } h2 { border-bottom-style: solid; border-bottom-width: 1px; } /* * Doxygen as of 1.5.4-20071217 uses the class "navpath" instead of "nav". * For now, we'll do both. */ div.nav, div.navpath { background-color: transparent; text-align: left; margin-top: 1em; margin-bottom: 1em; border-color: black; border-left: none; border-right: none; padding-top: 0.5em; padding-bottom: 0.5em; } div.nav :link, div.nav :visited, div.navpath :link, div.navpath :visited { border-width: 1px; border-style: solid; border-color: silver; padding: 2px; } div.nav :link:hover, div.nav :visited:hover, div.navpath :link:hover, div.navpath :visited:hover { border-style: outset; border-color: gray; } div.nav :active, div.navpath :active { border-style: inset; border-color: gray; } .body td { background-color: transparent; } .el { text-decoration: inherit; font-weight: inherit } .elRef { font-weight: inherit } .code:link, .code:visited { text-decoration: inherit; font-weight: inherit; color: inherit; } .codeRef:link { font-weight: normal; color: inherit; } :visited { color: silver; } :link:hover { color: inherit; text-decoration: inherit; background-color: transparent; } h1 { line-height: 1.2em; } td.memItemLeft, td.memItemRight, td.memTemplParams, td.memTemplItemLeft, td.memTemplItemRight, .memtemplate, .memname td { font-family: Consolas, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Lucida Console", LucidaTypewriter, monospace; } td.memItemLeft, td.memItemRight, td.mdescLeft, td.mdescRight { background-color: rgb(95%, 95%, 95%); border-color: rgb(65%, 65%, 65%); border-width: 1px; font-size: smaller; } .memItemLeft { margin-top: 0.5em; border-top-style: solid; } .mdescLeft { border-bottom-style: solid; } .memItemRight { border-top-style: solid; margin-top: 0.5em; } .mdescRight { border-bottom-style: solid; } .mdescRight { font-style: italic; } .mdTable { background-color: rgb(95%, 95%, 95%); } .memproto td code { font-family: inherit; font-style: italic; } td.pass { background-color: rgb(50%, 100%, 50%); } td.fail { background-color: rgb(100%, 50%, 50%); } td.invalid { background-color: rgb(75%, 75%, 75%); } .memitem { padding: 0; } .memitem table { width: auto; } .memproto, .memdoc { border-width: 1px; border-color: rgb(65%, 65%, 65%); } .memproto { background-color: rgb(90%, 90%, 90%); font-weight: inherit; font-size: smaller; border-top-style: solid; border-left-style: solid; border-right-style: solid; -webkit-border-top-left-radius: 0.6em; -webkit-border-top-right-radius: 0.6em; -moz-border-radius-topleft: 0.6em; -moz-border-radius-topright: 0.6em; } .memdoc { background-color: rgb(95%, 95%, 95%); padding: 2px 5px; border-style: solid; -webkit-border-bottom-left-radius: 0.6em; -webkit-border-bottom-right-radius: 0.6em; -moz-border-radius-bottomleft: 0.6em; -moz-border-radius-bottomright: 0.6em; } .memname { font-weight: inherit; } div.tabs { background-image: url("tab_b-openvrml.png"); } div.tabs span { background-image: url("tab_l-openvrml.png"); } div.tabs a { background-image: url("tab_r-openvrml.png"); border-bottom: 1px solid #a5a5a5; } div.tabs a:link, div.tabs a:visited, div.tabs a:active, div.tabs a:hover { color: black; } table { border-collapse: collapse; border-spacing: 0; } .note { border: 1px solid rgb(65%, 65%, 65%); background-color: rgb(95%, 95%, 95%); margin-left: 10%; margin-right: 10%; } </style> </head> <body> <table class="sitenav"> <tr> <th><a href="http://openvrml.org/index" title="Home">Home</a></th> <th><a href="http://openvrml.org/download" title="Download">Download</a></th> <th><a href="http://openvrml.org/screenshots/index" title="Screen shots">Screen shots</a></th> <th><a href="http://openvrml.org/discussion" title="Mailing lists and IRC">Discussion</a></th> <th>Documentation</th> </tr> </table> <div class="body"> <!-- Generated by Doxygen 1.5.8 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <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="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</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"><a class="el" href="namespaceopenvrml.html">openvrml</a>::<a class="el" href="structopenvrml_1_1FieldValueConcept.html">FieldValueConcept</a> </div> </div> <div class="contents"> <h1>openvrml::FieldValueConcept< T > Struct Template Reference</h1><!-- doxytag: class="openvrml::FieldValueConcept" -->Concept checking class to validate that a template parameter is a model of the Field Value concept. <a href="#_details">More...</a> <p> <code>#include <openvrml/field_value.h></code> <p> <p> <a href="structopenvrml_1_1FieldValueConcept-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1FieldValueConcept.html#f5eb3c48427bc1a69a0d1227b5cd856b">constraints</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Validate that T is a model of the Field Value concept. <a href="#f5eb3c48427bc1a69a0d1227b5cd856b"></a><br></td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1field__value.html">field_value</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1FieldValueConcept.html#e8aec8034884fa2a7fbf06ed104c0245">base_ptr</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1FieldValueConcept.html#4e7870fa657b165a1624b8cd8090a197">fv</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">field_value::type_id</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1FieldValueConcept.html#73dd41c11c39753912ec4e0312c0c0b4">id</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<typename T><br> struct openvrml::FieldValueConcept< T ></h3> Concept checking class to validate that a template parameter is a model of the Field Value concept. <p> A Field Value is a concrete type that inherits <code><a class="el" href="classopenvrml_1_1field__value.html" title="Abstract base class for the VRML field types.">field_value</a></code> and holds a value for a field of a <a class="el" href="classopenvrml_1_1node.html" title="A node in the scene graph.">node</a>.<p> <dl class="user" compact><dt><b>Refinement of</b></dt><dd><a href="http://www.sgi.com/tech/stl/DefaultConstructible.html">Default Constructible</a>, <a href="http://www.boost.org/libs/utility/CopyConstructible.html">Copy Constructible</a>, <a href="http://www.sgi.com/tech/stl/Assignable.html">Assignable</a>, <a href="http://www.sgi.com/tech/stl/EqualityComparable.html">Equality Comparable</a></dd></dl> <dl class="user" compact><dt><b>Associated types</b></dt><dd><table border="1" cellspacing="3" cellpadding="3"> <tr> <td>Value type </td><td>T::value_type </td><td>The type of T's <em>value</em> member. The value type must be <a href="http://www.sgi.com/tech/stl/Assignable.html">Assignable</a> and <a href="http://www.sgi.com/tech/stl/DefaultConstructible.html">DefaultConstructible</a>. </td></tr> </table> </dd></dl> <dl class="user" compact><dt><b>Notation</b></dt><dd><table border="1" cellspacing="3" cellpadding="3"> <tr> <td><code>T</code> </td><td>A type that is a model of Field Value </td></tr> <tr> <td><code>v</code> </td><td>A reference of type <code><a class="el" href="classopenvrml_1_1field__value.html" title="Abstract base class for the VRML field types.">field_value</a> &</code> </td></tr> </table> </dd></dl> <dl class="user" compact><dt><b>Definitions</b></dt><dd></dd></dl> <dl class="user" compact><dt><b>Valid expressions</b></dt><dd>In addition to the expressions defined in <a href="http://www.sgi.com/tech/stl/Assignable.html">Assignable</a> and <a href="http://www.sgi.com/tech/stl/EqualityComparable.html">EqualityComparable</a>, the following expressions must be valid. <table border="1" cellspacing="3" cellpadding="3"> <tr> <th>Name </th><th>Expression </th><th>Type requirements </th><th>Return type </th></tr> <tr> <td>Downcast </td><td><code>static_cast<T &>(v)</code> </td><td></td><td>T & </td></tr> </table> </dd></dl> <dl class="user" compact><dt><b>Models</b></dt><dd><ul> <li><code><a class="el" href="classopenvrml_1_1sfbool.html" title="A boolean node field value.">sfbool</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfcolor.html" title="A color node field value.">sfcolor</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfcolorrgba.html" title="A color_rgba node field value.">sfcolorrgba</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfdouble.html" title="A single precision doubleing point node field value.">sfdouble</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sffloat.html" title="A single precision floating point node field value.">sffloat</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfimage.html" title="A pixmap.">sfimage</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfint32.html" title="A 32-bit integer node field value.">sfint32</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfnode.html" title="A node field value to hold a single node reference.">sfnode</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfrotation.html" title="A rotation node field value.">sfrotation</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfstring.html" title="A string node field value.">sfstring</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sftime.html" title="A double precision floating point node field value.">sftime</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfvec2d.html" title="A 2-component vector node field value.">sfvec2d</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfvec2f.html" title="A 2-component vector node field value.">sfvec2f</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfvec3d.html" title="A 3-component vector node field value.">sfvec3d</a></code> </li><li><code><a class="el" href="classopenvrml_1_1sfvec3f.html" title="A 3-component vector node field value.">sfvec3f</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfbool.html" title="A bool array node field value.">mfbool</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfcolor.html" title="A color array node field value.">mfcolor</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfcolorrgba.html" title="A color_rgba array node field value.">mfcolorrgba</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfdouble.html" title="A double array node field value.">mfdouble</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mffloat.html" title="A float array node field value.">mffloat</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfimage.html" title="A image array node field value.">mfimage</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfint32.html" title="An integer array node field value.">mfint32</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfnode.html" title="A node reference array node field value.">mfnode</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfrotation.html" title="A rotation array node field value.">mfrotation</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfstring.html" title="A string array node field value.">mfstring</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mftime.html" title="A double array node field value.">mftime</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfvec2d.html" title="A 2-component vector array node field value.">mfvec2d</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfvec2f.html" title="A 2-component vector array node field value.">mfvec2f</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfvec3d.html" title="A 3-component vector array node field value.">mfvec3d</a></code> </li><li><code><a class="el" href="classopenvrml_1_1mfvec3f.html" title="A 3-component vector array node field value.">mfvec3f</a></code> </li></ul> </dd></dl> <dl compact><dt><b>Template Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>the type to validate against this concept. </td></tr> </table> </dl> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="f5eb3c48427bc1a69a0d1227b5cd856b"></a><!-- doxytag: member="openvrml::FieldValueConcept::constraints" ref="f5eb3c48427bc1a69a0d1227b5cd856b" args="()" --> <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="structopenvrml_1_1FieldValueConcept.html">openvrml::FieldValueConcept</a>< T >::constraints </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Validate that T is a model of the Field Value concept. <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="e8aec8034884fa2a7fbf06ed104c0245"></a><!-- doxytag: member="openvrml::FieldValueConcept::base_ptr" ref="e8aec8034884fa2a7fbf06ed104c0245" 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="classopenvrml_1_1field__value.html">openvrml::field_value</a> * <a class="el" href="structopenvrml_1_1FieldValueConcept.html">openvrml::FieldValueConcept</a>< T >::<a class="el" href="structopenvrml_1_1FieldValueConcept.html#e8aec8034884fa2a7fbf06ed104c0245">base_ptr</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p><b>For internal use only.</b></p> <p> </p> </div> </div><p> <a class="anchor" name="4e7870fa657b165a1624b8cd8090a197"></a><!-- doxytag: member="openvrml::FieldValueConcept::fv" ref="4e7870fa657b165a1624b8cd8090a197" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename T > </div> <table class="memname"> <tr> <td class="memname">T * <a class="el" href="structopenvrml_1_1FieldValueConcept.html">openvrml::FieldValueConcept</a>< T >::<a class="el" href="structopenvrml_1_1FieldValueConcept.html#4e7870fa657b165a1624b8cd8090a197">fv</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p><b>For internal use only.</b></p> <p> </p> </div> </div><p> <a class="anchor" name="73dd41c11c39753912ec4e0312c0c0b4"></a><!-- doxytag: member="openvrml::FieldValueConcept::id" ref="73dd41c11c39753912ec4e0312c0c0b4" 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="classopenvrml_1_1field__value.html#4bc5e65d6aec0ad3cf49f3992025d4ef">openvrml::field_value::type_id</a> <a class="el" href="structopenvrml_1_1FieldValueConcept.html">openvrml::FieldValueConcept</a>< T >::<a class="el" href="structopenvrml_1_1FieldValueConcept.html#73dd41c11c39753912ec4e0312c0c0b4">id</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p><b>For internal use only.</b></p> <p> </p> </div> </div><p> </div> </div> <address class="footer"><span class="images"><a href="http://web3d.org/x3d/"><img src="x3d-white-on-black.png" width="43" height="32" border="0" alt="X3D"></a><a href="http://opengl.org"><img src="OGL_sm_wht.png" width="68" height="32" border="0" alt="OpenGL"></a><a href="http://sourceforge.net/projects/openvrml"><img src="http://sourceforge.net/sflogo.php?group_id=7151&type=11" width="120" height="30" border="0" alt="SourceForge.net"></a></span><a href="https://sourceforge.net/apps/trac/openvrml/newticket">Report error</a><br>Generated Thu Aug 13 02:49:18 2009 by Doxygen 1.5.8</address> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> <script type="text/javascript">_uacct = "UA-446379-2"; urchinTracker();</script> <!-- Piwik --> <script type="text/javascript"> var pkBaseURL = (("https:" == document.location.protocol) ? "https://sourceforge.net/apps/piwik/openvrml/" : "http://sourceforge.net/apps/piwik/openvrml/"); document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); </script><script type="text/javascript"> piwik_action_name = ''; piwik_idsite = 1; piwik_url = pkBaseURL + "piwik.php"; piwik_log(piwik_action_name, piwik_idsite, piwik_url); </script> <object><noscript><p><img src="http://sourceforge.net/apps/piwik/openvrml/piwik.php?idsite=1" alt="piwik"/></p></noscript></object> <!-- End Piwik Tag --> </body> </html>