Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 192

ucommon-doc-5.0.4-1mdv2010.2.i586.rpm

<!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>ucommon: ucommon::object_value&lt; T, O &gt; 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.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</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>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00094.html">object_value</a>
  </div>
</div>
<div class="contents">
<h1>ucommon::object_value&lt; T, O &gt; Class Template Reference</h1><!-- doxytag: class="ucommon::object_value" --><!-- doxytag: inherits="O" -->
<p>Template for embedding a data structure into a reference counted object.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00192_source.html">object.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ucommon::object_value&lt; T, O &gt;:</div>
<div class="dynsection">
<div class="center"><img src="a00455.png" border="0" usemap="#ucommon_1_1object__value_3_01_t_00_01_o_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ucommon_1_1object__value_3_01_t_00_01_o_01_4_inherit__map" id="ucommon_1_1object__value_3_01_t_00_01_o_01_4_inherit__map">
<area shape="rect" id="node3" href="a00064.html" title="Template value class to embed data structure into a linked list." alt="" coords="5,80,317,107"/><area shape="rect" id="node5" href="a00089.html" title="Template value class to embed data structure into a named list." alt="" coords="341,80,643,107"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a28c23de9e0e464ee605ec913ead464e3">object_value</a> (T &amp;existing)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct composite value object and assign from existing data value.  <a href="#a28c23de9e0e464ee605ec913ead464e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8d11f5daa44794893d765b1697c2dcd"></a><!-- doxytag: member="ucommon::object_value::object_value" ref="ae8d11f5daa44794893d765b1697c2dcd" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#ae8d11f5daa44794893d765b1697c2dcd">object_value</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct composite value object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a89596dd663ce333a8a017f8d12e4b8ff">operator T &amp;</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve data value by casting reference.  <a href="#a89596dd663ce333a8a017f8d12e4b8ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#ad3bbe1a084947ff25eaa5e9d5c4aa5ca">operator()</a> (T &amp;data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set data value by expression reference.  <a href="#ad3bbe1a084947ff25eaa5e9d5c4aa5ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fce2970c60c58c00b5ff3d31266a274"></a><!-- doxytag: member="ucommon::object_value::operator()" ref="a1fce2970c60c58c00b5ff3d31266a274" args="()" -->
T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator()</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#ad8c45e541d5d0fbc6b8ceb100f8efe50">operator*</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer reference to embedded data value.  <a href="#ad8c45e541d5d0fbc6b8ceb100f8efe50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a0544328c31a92b9ecc1be6c418b0e18b">operator=</a> (const T &amp;data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign embedded data value.  <a href="#a0544328c31a92b9ecc1be6c418b0e18b"></a><br/></td></tr>
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad23bddc9d4c432f49b3bb97de3aa2505"></a><!-- doxytag: member="ucommon::object_value::value" ref="ad23bddc9d4c432f49b3bb97de3aa2505" args="" -->
T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#ad23bddc9d4c432f49b3bb97de3aa2505">value</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Embedded data value. <br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a72b38c91fac11660977a781d31624726">set</a> (const T &amp;object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign our value from a typed data object.  <a href="#a72b38c91fac11660977a781d31624726"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename T, class O = CountedObject&gt;<br/>
 class ucommon::object_value&lt; T, O &gt;</h3>

<p>Template for embedding a data structure into a reference counted object. </p>
<p>This is a convenient means to create reference counted heap managed data structure. This template can be used for embedding data into other kinds of managed object classes in addition to reference counting. For example, it can be used to embed a data structure into a linked list, as shown in the <a class="el" href="a00064.html" title="Template value class to embed data structure into a linked list.">linked_value</a> template. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00343">343</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a28c23de9e0e464ee605ec913ead464e3"></a><!-- doxytag: member="ucommon::object_value::object_value" ref="a28c23de9e0e464ee605ec913ead464e3" args="(T &amp;existing)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class O  = CountedObject&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00094.html">ucommon::object_value</a>&lt; T, O &gt;::<a class="el" href="a00094.html">object_value</a> </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>existing</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct composite value object and assign from existing data value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>existing</em>&nbsp;</td><td>typed value to assign. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00365">365</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a89596dd663ce333a8a017f8d12e4b8ff"></a><!-- doxytag: member="ucommon::object_value::operator T &amp;" ref="a89596dd663ce333a8a017f8d12e4b8ff" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class O  = CountedObject&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00094.html">ucommon::object_value</a>&lt; T, O &gt;::operator T &amp; </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve data value by casting reference. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>embedded value. </dd></dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00386">386</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad3bbe1a084947ff25eaa5e9d5c4aa5ca"></a><!-- doxytag: member="ucommon::object_value::operator()" ref="ad3bbe1a084947ff25eaa5e9d5c4aa5ca" args="(T &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class O  = CountedObject&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00094.html">ucommon::object_value</a>&lt; T, O &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set data value by expression reference. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>value to assign. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00396">396</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad8c45e541d5d0fbc6b8ceb100f8efe50"></a><!-- doxytag: member="ucommon::object_value::operator*" ref="ad8c45e541d5d0fbc6b8ceb100f8efe50" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class O  = CountedObject&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="a00094.html">ucommon::object_value</a>&lt; T, O &gt;::operator* </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer reference to embedded data value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>embedded value. </dd></dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00372">372</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0544328c31a92b9ecc1be6c418b0e18b"></a><!-- doxytag: member="ucommon::object_value::operator=" ref="a0544328c31a92b9ecc1be6c418b0e18b" args="(const T &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class O  = CountedObject&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00094.html">ucommon::object_value</a>&lt; T, O &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assign embedded data value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>value to assign. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="a00089.html#a4958d3b50afb381d3aec363f11615003">ucommon::named_value&lt; T, O &gt;</a>, and <a class="el" href="a00064.html#a12fae32d7d751c52a2d108026c7407f2">ucommon::linked_value&lt; T, O &gt;</a>.</p>

<p>Definition at line <a class="el" href="a00192_source.html#l00379">379</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<a class="anchor" id="a72b38c91fac11660977a781d31624726"></a><!-- doxytag: member="ucommon::object_value::set" ref="a72b38c91fac11660977a781d31624726" args="(const T &amp;object)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , class O  = CountedObject&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00094.html">ucommon::object_value</a>&lt; T, O &gt;::set </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assign our value from a typed data object. </p>
<p>This is a helper method. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to assign our value from. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00350">350</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ucommon/<a class="el" href="a00192_source.html">object.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:47 2011 for ucommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>