Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2f6559b7006594cad03af173263c219e > files > 2802

mrpt-doc-0.9.4-0.1.20110110svn2383.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>The MRPT project: NoAlias&lt; ExpressionType, StorageBase &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.2 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</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 id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
          <span class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </span><span class="right"></span>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-types">Private Types</a>  </div>
  <div class="headertitle">
<h1>NoAlias&lt; ExpressionType, StorageBase &gt; Class Template Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="NoAlias" --><hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt;<br/>
 class NoAlias&lt; ExpressionType, StorageBase &gt;</h3>

<p>Pseudo expression providing an operator = assuming no aliasing. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ExpressionType</td><td>the type of the object on which to do the lazy assignment</td></tr>
  </table>
  </dd>
</dl>
<p>This class represents an expression with special assignment operators assuming no aliasing between the target expression and the source expression. More precisely it alloas to bypass the EvalBeforeAssignBit flag of the source expression. It is the return type of <a class="el" href="class_matrix_base.html#a1c1f56222bd7cbea01adfb4adce94beb">MatrixBase::noalias()</a> and most of the time this is the only way it is used.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_matrix_base.html#a1c1f56222bd7cbea01adfb4adce94beb">MatrixBase::noalias()</a> </dd></dl>

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00044">44</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

<p><code>#include &lt;<a class="el" href="_no_alias_8h_source.html">src/Core/NoAlias.h</a>&gt;</code></p>

<p><a href="class_no_alias-members.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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_no_alias.html#a26654bb83d4475880159077c03e8047d">NoAlias</a> (ExpressionType &amp;expression)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename OtherDerived &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">EIGEN_STRONG_INLINE <br class="typebreak"/>
ExpressionType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_no_alias.html#a2f8f975445a221ae286cef54f419bf51">operator=</a> (const StorageBase&lt; OtherDerived &gt; &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Behaves like MatrixBase::lazyAssign(other)  <a href="#a2f8f975445a221ae286cef54f419bf51"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename OtherDerived &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">EIGEN_STRONG_INLINE <br class="typebreak"/>
ExpressionType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_no_alias.html#a59d1deac67bbe9d9d48b37b302f78750">operator+=</a> (const StorageBase&lt; OtherDerived &gt; &amp;other)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename OtherDerived &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">EIGEN_STRONG_INLINE <br class="typebreak"/>
ExpressionType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_no_alias.html#a69a2884f9fc39723d9e881d87dbeeb5f">operator-=</a> (const StorageBase&lt; OtherDerived &gt; &amp;other)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ExpressionType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_no_alias.html#a5e77ef7b7ad2b43b261029c5613cd954">m_expression</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef ExpressionType::Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_no_alias.html#a43a30d88ec2751108a8b80fee6dfd222">Scalar</a></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a43a30d88ec2751108a8b80fee6dfd222"></a><!-- doxytag: member="NoAlias::Scalar" ref="a43a30d88ec2751108a8b80fee6dfd222" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef ExpressionType::Scalar <a class="el" href="class_no_alias.html">NoAlias</a>&lt; ExpressionType, StorageBase &gt;::<a class="el" href="class_no_alias.html#a43a30d88ec2751108a8b80fee6dfd222">Scalar</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00046">46</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a26654bb83d4475880159077c03e8047d"></a><!-- doxytag: member="NoAlias::NoAlias" ref="a26654bb83d4475880159077c03e8047d" args="(ExpressionType &amp;expression)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_no_alias.html">NoAlias</a>&lt; ExpressionType, StorageBase &gt;::<a class="el" href="class_no_alias.html">NoAlias</a> </td>
          <td>(</td>
          <td class="paramtype">ExpressionType &amp;&#160;</td>
          <td class="paramname"> <em>expression</em>&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00048">48</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a59d1deac67bbe9d9d48b37b302f78750"></a><!-- doxytag: member="NoAlias::operator+=" ref="a59d1deac67bbe9d9d48b37b302f78750" args="(const StorageBase&lt; OtherDerived &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt; </div>
<div class="memtemplate">
template&lt;typename OtherDerived &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_STRONG_INLINE ExpressionType&amp; <a class="el" href="class_no_alias.html">NoAlias</a>&lt; ExpressionType, StorageBase &gt;::operator+= </td>
          <td>(</td>
          <td class="paramtype">const StorageBase&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"> <em>other</em>&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_matrix_base.html#a08ee2a567840f3d9e1b83d9906e7b4f3" title="replaces *this by *this + other.">MatrixBase::operator+=</a> </dd></dl>

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00058">58</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

<p>References <a class="el" href="_no_alias_8h_source.html#l00099">NoAlias&lt; ExpressionType, StorageBase &gt;::m_expression</a>.</p>

</div>
</div>
<a class="anchor" id="a69a2884f9fc39723d9e881d87dbeeb5f"></a><!-- doxytag: member="NoAlias::operator&#45;=" ref="a69a2884f9fc39723d9e881d87dbeeb5f" args="(const StorageBase&lt; OtherDerived &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt; </div>
<div class="memtemplate">
template&lt;typename OtherDerived &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_STRONG_INLINE ExpressionType&amp; <a class="el" href="class_no_alias.html">NoAlias</a>&lt; ExpressionType, StorageBase &gt;::operator-= </td>
          <td>(</td>
          <td class="paramtype">const StorageBase&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"> <em>other</em>&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_matrix_base.html#a11640cf3fe3d6a6f4df332235b888d0e" title="replaces *this by *this - other.">MatrixBase::operator-=</a> </dd></dl>

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00070">70</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

<p>References <a class="el" href="_no_alias_8h_source.html#l00099">NoAlias&lt; ExpressionType, StorageBase &gt;::m_expression</a>.</p>

</div>
</div>
<a class="anchor" id="a2f8f975445a221ae286cef54f419bf51"></a><!-- doxytag: member="NoAlias::operator=" ref="a2f8f975445a221ae286cef54f419bf51" args="(const StorageBase&lt; OtherDerived &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt; </div>
<div class="memtemplate">
template&lt;typename OtherDerived &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_STRONG_INLINE ExpressionType&amp; <a class="el" href="class_no_alias.html">NoAlias</a>&lt; ExpressionType, StorageBase &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const StorageBase&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"> <em>other</em>&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Behaves like MatrixBase::lazyAssign(other) </p>
<dl class="see"><dt><b>See also:</b></dt><dd>MatrixBase::lazyAssign() </dd></dl>

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00053">53</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

<p>References <a class="el" href="_no_alias_8h_source.html#l00099">NoAlias&lt; ExpressionType, StorageBase &gt;::m_expression</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a5e77ef7b7ad2b43b261029c5613cd954"></a><!-- doxytag: member="NoAlias::m_expression" ref="a5e77ef7b7ad2b43b261029c5613cd954" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ExpressionType, template&lt; typename &gt; class StorageBase&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">ExpressionType&amp; <a class="el" href="class_no_alias.html">NoAlias</a>&lt; ExpressionType, StorageBase &gt;::<a class="el" href="class_no_alias.html#a5e77ef7b7ad2b43b261029c5613cd954">m_expression</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_no_alias_8h_source.html#l00099">99</a> of file <a class="el" href="_no_alias_8h_source.html">NoAlias.h</a>.</p>

<p>Referenced by <a class="el" href="_no_alias_8h_source.html#l00058">NoAlias&lt; ExpressionType, StorageBase &gt;::operator+=()</a>, <a class="el" href="_no_alias_8h_source.html#l00070">NoAlias&lt; ExpressionType, StorageBase &gt;::operator-=()</a>, and <a class="el" href="_no_alias_8h_source.html#l00053">NoAlias&lt; ExpressionType, StorageBase &gt;::operator=()</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.2</a> for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>