Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 4236

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.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>mrpt::math::CBinaryRelation Class 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.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" 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>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div 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>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" 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="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1math.html">math</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html">CBinaryRelation</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::math::CBinaryRelation Class Reference<div class="ingroups"><a class="el" href="group__mrpt__base__grp.html">[mrpt-base]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::math::CBinaryRelation" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class models a binary relation through the elements of any given set. </p>
<p>I.e. for each pair of elements (A,B) it assigns two values, f(A,B) and f(B,A). This class is useful when calling the base function is costly, since it acts like a proxy. It's also useful if the relationship values do not correspond with the return value of a function. Although it theoretically supports objects with non-trivial constructors or destructors (indicated by specifying "true" as the thrid parameter of the template instantiation), certain operations will cause memory leaks and may even cause undefined behaviour, so it's reccomended to use only basic types for the parameter U. The parameter T may be any complex object, however, like a smart pointer. </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_binary_relation_8h_source.html">mrpt/math/CBinaryRelation.h</a>&gt;</code></p>

<p><a href="classmrpt_1_1math_1_1_c_binary_relation-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef U(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ad14772199b4cb0fb5bbf09dd4499202b">SimpleFunctionByReturnValue</a> )(T, T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple function type, used to initialize chunks of the matrix.  <a href="#ad14772199b4cb0fb5bbf09dd4499202b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef U(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a31de6d5b6b21081ce58d3e72c8f0b8a6">FunctionByReturnValue</a> )(const T &amp;, const T &amp;)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function type which obtains the relation value by a return value.  <a href="#a31de6d5b6b21081ce58d3e72c8f0b8a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#adf4d1628db6cfb52d99f3286a4cd1730">FunctionByReferencePass</a> )(const T &amp;, const T &amp;, U &amp;)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function type which obtains the relation value by reference pass.  <a href="#adf4d1628db6cfb52d99f3286a4cd1730"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt;<br class="typebreak"/>
::<a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant iterator through the set elements.  <a href="#aedf7cde6549f80f341b74720f9380224"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt;<br class="typebreak"/>
::<a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant reverse iterator through the set elements.  <a href="#a0125cd91914dbb6b75615a55911173cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classmrpt_1_1math_1_1_c_matrix_row_accessor.html">CMatrixRowAccessor</a>&lt; U &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a86dde525795e47681ea65b7125dacabf">AccessorForFirstElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor type to every value related to any element A, i.e., f(A,x).  <a href="#a86dde525795e47681ea65b7125dacabf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classmrpt_1_1math_1_1_c_matrix_column_accessor.html">CMatrixColumnAccessor</a>&lt; U &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab25cc02073cbdb37335cfd1cbce874d3">AccessorForSecondElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor type to every value related to any element B, i.e., f(x,B).  <a href="#ab25cc02073cbdb37335cfd1cbce874d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
<a class="el" href="classmrpt_1_1math_1_1_c_const_matrix_row_accessor.html">CConstMatrixRowAccessor</a>&lt; U &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af8a4ff916f2838a038e1d59123d01cc4">ConstAccessorForFirstElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Const accessor type to every value related to any element A, i.e., f(A,x).  <a href="#af8a4ff916f2838a038e1d59123d01cc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
<a class="el" href="classmrpt_1_1math_1_1_c_const_matrix_column_accessor.html">CConstMatrixColumnAccessor</a>&lt; U &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af3c404ad83f598aec39e9f2040b4a060">ConstAccessorForSecondElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Const accessor type to every value related to any element B, i.e., f(x,B).  <a href="#af3c404ad83f598aec39e9f2040b4a060"></a><br/></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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a7326b799845e563a0d7615c86a933531">CBinaryRelation</a> (const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;els)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor, doesn't initialize the relation.  <a href="#a7326b799845e563a0d7615c86a933531"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename FunctionType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ae27214165957653570c28756f2b13043">CBinaryRelation</a> (const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;els, FunctionType fun)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor which initializes the relation using a given function.  <a href="#ae27214165957653570c28756f2b13043"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename FunctionType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab4c5cbeb4b4c1b66ccf496a678e8a4e3">initializeWith</a> (FunctionType fun)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the whole relation with a given function.  <a href="#ab4c5cbeb4b4c1b66ccf496a678e8a4e3"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename FunctionType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a525ba2c060ca8b0b632f6beaf45a1bfe">initializeSymmetricallyWith</a> (FunctionType fun)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the whole relation with a given function, assuming that the relation is symmetrical.  <a href="#a525ba2c060ca8b0b632f6beaf45a1bfe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a4d2ea8625c09101701dd3d2ccbcb149b">setRelationValue</a> (size_t e1, size_t e2, const U &amp;newVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Manually set a relationship value, given the indices.  <a href="#a4d2ea8625c09101701dd3d2ccbcb149b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const U &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a7b21d9f0ebf4ce84b038c9152514ae43">getRelationValue</a> (size_t e1, size_t e2) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a relation value, given the indices.  <a href="#a7b21d9f0ebf4ce84b038c9152514ae43"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const U &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a9030aa25ba44a1fdd2a5a43e9de951ee">operator()</a> (size_t e1, size_t e2) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">U &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a24d48da89fbd795e41e4d5586ed0ffcd">getRelationValue</a> (size_t e1, size_t e2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to a relation value given its indices, which allows both querying and setting the value.  <a href="#a24d48da89fbd795e41e4d5586ed0ffcd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">U &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a6741751070b9fed516bc43adf9f856c7">operator()</a> (size_t e1, size_t e2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a941f8afd63945a3d61cf74c3a5840437">setRelationValue</a> (const T &amp;t1, const T &amp;t2, const U &amp;newVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Manually set a relationship value, given the elements.  <a href="#a941f8afd63945a3d61cf74c3a5840437"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">U&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a30dcc07d5cca61efc3a46328954c31c2">getRelationValue</a> (const T &amp;t1, const T &amp;t2) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a relation value, given the elements.  <a href="#a30dcc07d5cca61efc3a46328954c31c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">U &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a48dc3add0a66d109e0056e19bb865c82">getRelationValue</a> (const T &amp;t1, const T &amp;t2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to a relation value given the elements, which allows both querying and setting.  <a href="#a48dc3add0a66d109e0056e19bb865c82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a973728ff0c39e8c11cc13b6ac4c4fba5">begin</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator to the starting point of the elements set.  <a href="#a973728ff0c39e8c11cc13b6ac4c4fba5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#adb2913616f432880261e7c5f6b107ca1">end</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator to the ending point of the elements set.  <a href="#adb2913616f432880261e7c5f6b107ca1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ac6c7171bf934dbd57060a86f23ad9de6">rbegin</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a reverse iterator to the ending point of the elements set.  <a href="#ac6c7171bf934dbd57060a86f23ad9de6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af5ac35a9b38ec6e0056d216e522bda94">rend</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a reverse iterator to the starting point of the elements set.  <a href="#af5ac35a9b38ec6e0056d216e522bda94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a439e2055644b08ec329ce9a8d253f24e">operator[]</a> (size_t i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator for direct access to a element given its index.  <a href="#a439e2055644b08ec329ce9a8d253f24e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a86dde525795e47681ea65b7125dacabf">AccessorForFirstElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aebfa6985217ab10a4fdf915236de8307">getRelationFrom</a> (size_t i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an accessor for every value related to an element A given its index, i.e., every f(A,x).  <a href="#aebfa6985217ab10a4fdf915236de8307"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af8a4ff916f2838a038e1d59123d01cc4">ConstAccessorForFirstElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aa1ac1113eb8faeb86f5829c02a56bed4">getRelationFrom</a> (size_t i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a constant accessor for every value related to an element A given its index, i.e., every f(A,x).  <a href="#aa1ac1113eb8faeb86f5829c02a56bed4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab25cc02073cbdb37335cfd1cbce874d3">AccessorForSecondElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aab2f2b5fe10d2d9358d74469869eedce">getRelationTo</a> (size_t i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an accessor for every value related to an element B given its index, i.e., every f(x,B).  <a href="#aab2f2b5fe10d2d9358d74469869eedce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af3c404ad83f598aec39e9f2040b4a060">ConstAccessorForSecondElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a889027227a75176a3c98f3ebea4a00f0">getRelationTo</a> (size_t i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a constant accessor for every value related to an element B given its index, i.e., every f(x,B).  <a href="#a889027227a75176a3c98f3ebea4a00f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a86dde525795e47681ea65b7125dacabf">AccessorForFirstElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aa64411e8aa57cae031e553937bcb5504">getRelationFrom</a> (const T &amp;t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterable accessor for every value related to an element A, i.e., every f(A,x).  <a href="#aa64411e8aa57cae031e553937bcb5504"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af8a4ff916f2838a038e1d59123d01cc4">ConstAccessorForFirstElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a6ca2a2ef7ed4e8e2c823b4ac50f8c7d2">getRelationFrom</a> (const T &amp;t) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterable constant accessor for every value related to an element A, i.e., every f(A,x).  <a href="#a6ca2a2ef7ed4e8e2c823b4ac50f8c7d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af2fbaffb8fa2944e05a98cf2d3999fe1">getRelationFrom</a> (size_t i, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;vec)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a2436ff89d5b0cdfa06b2e68945111258">getRelationFrom</a> (const T &amp;t, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;vec)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab25cc02073cbdb37335cfd1cbce874d3">AccessorForSecondElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#acb9684bf8fb97f75c7f4033246be657f">getRelationTo</a> (const T &amp;t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterable accessor for every value related to an element B, i.e., every f(x,B).  <a href="#acb9684bf8fb97f75c7f4033246be657f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af3c404ad83f598aec39e9f2040b4a060">ConstAccessorForSecondElement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a52cce76d072f769327271b6cf7b274c8">getRelationTo</a> (const T &amp;t) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterable constant accessor for every value related to an alement B, i.e., every f(x,B).  <a href="#a52cce76d072f769327271b6cf7b274c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#afad71052b0f09715b5929028dc6a857f">getRelationTo</a> (size_t i, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;vec)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a78b5d3f578952c8c819a179bb5dac5a0">getRelationTo</a> (const T &amp;t, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;vec)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a210c1c49d6b455a05387251ba90e3586">removeElementAt</a> (size_t i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an element at a concrete position.  <a href="#a210c1c49d6b455a05387251ba90e3586"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0f590ddfb9925941400adbe84efbd72f">removeElement</a> (const T &amp;el)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an element.  <a href="#a0f590ddfb9925941400adbe84efbd72f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ae4f59b47c8455dc176423afba05054ba">removeElements</a> (const <a class="el" href="classstd_1_1set.html">set</a>&lt; T &gt; &amp;vals)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a set of elements.  <a href="#ae4f59b47c8455dc176423afba05054ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#afcdbc56f86d9a4aaf05459a401b9a143">removeElementsAt</a> (const <a class="el" href="classstd_1_1set.html">set</a>&lt; size_t &gt; &amp;poss)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; bool, size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a1d0ab22a46d50973e416e81353bb4c74">insertElement</a> (const T &amp;el)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts an element.  <a href="#a1d0ab22a46d50973e416e81353bb4c74"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename FunctionType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::pair&lt; bool, size_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ac46075f4f49633b71793c88d9e5b504a">insertElement</a> (const T &amp;el, FunctionType fun)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts an element and initializes its relationship values, even if it was already present.  <a href="#ac46075f4f49633b71793c88d9e5b504a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a3ec3583e24d1946b7483dbf088718ab6">insertElements</a> (const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;els)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a set of elements into the relation.  <a href="#a3ec3583e24d1946b7483dbf088718ab6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename FunctionType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a9eb0bac1f1938bdb4498bd72670dbe92">insertElements</a> (const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;els, FunctionType fun)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a set of elements into the relation, initializing the actual relation with a given function.  <a href="#a9eb0bac1f1938bdb4498bd72670dbe92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ae704d4e75b665bbe320c10d922043489">setElements</a> (const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;newEls)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Completely resets the relation, using a new set of elements.  <a href="#ae704d4e75b665bbe320c10d922043489"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a3fb9d4e7e2d72fa030cbecd9a1f6bbab">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the amount of elements present in the relation.  <a href="#a3fb9d4e7e2d72fa030cbecd9a1f6bbab"></a><br/></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 detail::MatrixWrapper<br class="typebreak"/>
&lt; U, UIsObject &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a5ac3d3c70bd310b64719cdc9a143d3c8">MatrixType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a5ac3d3c70bd310b64719cdc9a143d3c8">MatrixType</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix type used to store the actual relation.  <a href="#a5ac3d3c70bd310b64719cdc9a143d3c8"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename FunctionType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a1116845765d3902942f5e1647d2a9c90">applyFunction</a> (FunctionType fun, size_t e1, size_t e2, const T &amp;T1, const T &amp;T2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Template used to make the function interface independent from the function type.  <a href="#a1116845765d3902942f5e1647d2a9c90"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#abe0e7bcd6cf991f27631ac3ae2a4db48">elements</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Actual set of elements.  <a href="#abe0e7bcd6cf991f27631ac3ae2a4db48"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a5ac3d3c70bd310b64719cdc9a143d3c8">MatrixType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aa80f763010af1fe6fb017671cbb58923">relation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix storing the relation.  <a href="#aa80f763010af1fe6fb017671cbb58923"></a><br/></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a86dde525795e47681ea65b7125dacabf"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::AccessorForFirstElement" ref="a86dde525795e47681ea65b7125dacabf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1math_1_1_c_matrix_row_accessor.html">CMatrixRowAccessor</a>&lt;U&gt; <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a86dde525795e47681ea65b7125dacabf">mrpt::math::CBinaryRelation::AccessorForFirstElement</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Accessor type to every value related to any element A, i.e., f(A,x). </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00061">61</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab25cc02073cbdb37335cfd1cbce874d3"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::AccessorForSecondElement" ref="ab25cc02073cbdb37335cfd1cbce874d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1math_1_1_c_matrix_column_accessor.html">CMatrixColumnAccessor</a>&lt;U&gt; <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab25cc02073cbdb37335cfd1cbce874d3">mrpt::math::CBinaryRelation::AccessorForSecondElement</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Accessor type to every value related to any element B, i.e., f(x,B). </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00062">62</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="aedf7cde6549f80f341b74720f9380224"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::const_iterator" ref="aedf7cde6549f80f341b74720f9380224" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1set.html">std::set</a>&lt;T&gt;::<a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a> <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">mrpt::math::CBinaryRelation::const_iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constant iterator through the set elements. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00059">59</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0125cd91914dbb6b75615a55911173cc"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::const_reverse_iterator" ref="a0125cd91914dbb6b75615a55911173cc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1set.html">std::set</a>&lt;T&gt;::<a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a> <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">mrpt::math::CBinaryRelation::const_reverse_iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constant reverse iterator through the set elements. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00060">60</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="af8a4ff916f2838a038e1d59123d01cc4"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::ConstAccessorForFirstElement" ref="af8a4ff916f2838a038e1d59123d01cc4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1math_1_1_c_const_matrix_row_accessor.html">CConstMatrixRowAccessor</a>&lt;U&gt; <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af8a4ff916f2838a038e1d59123d01cc4">mrpt::math::CBinaryRelation::ConstAccessorForFirstElement</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Const accessor type to every value related to any element A, i.e., f(A,x). </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00063">63</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="af3c404ad83f598aec39e9f2040b4a060"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::ConstAccessorForSecondElement" ref="af3c404ad83f598aec39e9f2040b4a060" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1math_1_1_c_const_matrix_column_accessor.html">CConstMatrixColumnAccessor</a>&lt;U&gt; <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af3c404ad83f598aec39e9f2040b4a060">mrpt::math::CBinaryRelation::ConstAccessorForSecondElement</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Const accessor type to every value related to any element B, i.e., f(x,B). </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00064">64</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="adf4d1628db6cfb52d99f3286a4cd1730"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::FunctionByReferencePass" ref="adf4d1628db6cfb52d99f3286a4cd1730" args=")(const T &amp;, const T &amp;, U &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#adf4d1628db6cfb52d99f3286a4cd1730">mrpt::math::CBinaryRelation::FunctionByReferencePass</a>)(const T &amp;, const T &amp;, U &amp;)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function type which obtains the relation value by reference pass. </p>

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

</div>
</div>
<a class="anchor" id="a31de6d5b6b21081ce58d3e72c8f0b8a6"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::FunctionByReturnValue" ref="a31de6d5b6b21081ce58d3e72c8f0b8a6" args=")(const T &amp;, const T &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef U(* <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a31de6d5b6b21081ce58d3e72c8f0b8a6">mrpt::math::CBinaryRelation::FunctionByReturnValue</a>)(const T &amp;, const T &amp;)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function type which obtains the relation value by a return value. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00057">57</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5ac3d3c70bd310b64719cdc9a143d3c8"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::MatrixType" ref="a5ac3d3c70bd310b64719cdc9a143d3c8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef detail::MatrixWrapper&lt;U,UIsObject&gt;::<a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a5ac3d3c70bd310b64719cdc9a143d3c8">MatrixType</a> <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a5ac3d3c70bd310b64719cdc9a143d3c8">mrpt::math::CBinaryRelation::MatrixType</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix type used to store the actual relation. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00054">54</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad14772199b4cb0fb5bbf09dd4499202b"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::SimpleFunctionByReturnValue" ref="ad14772199b4cb0fb5bbf09dd4499202b" args=")(T, T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef U(* <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ad14772199b4cb0fb5bbf09dd4499202b">mrpt::math::CBinaryRelation::SimpleFunctionByReturnValue</a>)(T, T)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Simple function type, used to initialize chunks of the matrix. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00056">56</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7326b799845e563a0d7615c86a933531"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::CBinaryRelation" ref="a7326b799845e563a0d7615c86a933531" args="(const std::set&lt; T &gt; &amp;els)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::math::CBinaryRelation::CBinaryRelation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>els</em></td><td>)</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor, doesn't initialize the relation. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00081">81</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae27214165957653570c28756f2b13043"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::CBinaryRelation" ref="ae27214165957653570c28756f2b13043" args="(const std::set&lt; T &gt; &amp;els, FunctionType fun)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FunctionType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">mrpt::math::CBinaryRelation::CBinaryRelation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>els</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>fun</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor which initializes the relation using a given function. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00085">85</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00091">initializeWith()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1116845765d3902942f5e1647d2a9c90"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::applyFunction" ref="a1116845765d3902942f5e1647d2a9c90" args="(FunctionType fun, size_t e1, size_t e2, const T &amp;T1, const T &amp;T2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FunctionType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::applyFunction </td>
          <td>(</td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>fun</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>T1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>T2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Template used to make the function interface independent from the function type. </p>
<p>(wrapper for the global method - needed to make this compile under GCC). </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00073">73</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00091">initializeWith()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00101">initializeSymmetricallyWith()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00352">insertElement()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00391">insertElements()</a>.</p>

</div>
</div>
<a class="anchor" id="a973728ff0c39e8c11cc13b6ac4c4fba5"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::begin" ref="a973728ff0c39e8c11cc13b6ac4c4fba5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a> mrpt::math::CBinaryRelation::begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator to the starting point of the elements set. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00169">169</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00391">insertElements()</a>.</p>

</div>
</div>
<a class="anchor" id="adb2913616f432880261e7c5f6b107ca1"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::end" ref="adb2913616f432880261e7c5f6b107ca1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aedf7cde6549f80f341b74720f9380224">const_iterator</a> mrpt::math::CBinaryRelation::end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator to the ending point of the elements set. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00175">175</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00391">insertElements()</a>.</p>

</div>
</div>
<a class="anchor" id="aebfa6985217ab10a4fdf915236de8307"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationFrom" ref="aebfa6985217ab10a4fdf915236de8307" args="(size_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a86dde525795e47681ea65b7125dacabf">AccessorForFirstElement</a> mrpt::math::CBinaryRelation::getRelationFrom </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an accessor for every value related to an element A given its index, i.e., every f(A,x). </p>
<p>This accessor is iterable. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00202">202</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00226">getRelationFrom()</a>.</p>

</div>
</div>
<a class="anchor" id="aa1ac1113eb8faeb86f5829c02a56bed4"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationFrom" ref="aa1ac1113eb8faeb86f5829c02a56bed4" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af8a4ff916f2838a038e1d59123d01cc4">ConstAccessorForFirstElement</a> mrpt::math::CBinaryRelation::getRelationFrom </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a constant accessor for every value related to an element A given its index, i.e., every f(A,x). </p>
<p>This accessor is iterable. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00208">208</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

</div>
</div>
<a class="anchor" id="aa64411e8aa57cae031e553937bcb5504"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationFrom" ref="aa64411e8aa57cae031e553937bcb5504" args="(const T &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a86dde525795e47681ea65b7125dacabf">AccessorForFirstElement</a> mrpt::math::CBinaryRelation::getRelationFrom </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterable accessor for every value related to an element A, i.e., every f(A,x). </p>
<p>A domain_error will be thrown if the element is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00226">226</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00202">getRelationFrom()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a6ca2a2ef7ed4e8e2c823b4ac50f8c7d2"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationFrom" ref="a6ca2a2ef7ed4e8e2c823b4ac50f8c7d2" args="(const T &amp;t) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af8a4ff916f2838a038e1d59123d01cc4">ConstAccessorForFirstElement</a> mrpt::math::CBinaryRelation::getRelationFrom </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterable constant accessor for every value related to an element A, i.e., every f(A,x). </p>
<p>A domain_error will be thrown if the element is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00236">236</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00202">getRelationFrom()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="af2fbaffb8fa2944e05a98cf2d3999fe1"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationFrom" ref="af2fbaffb8fa2944e05a98cf2d3999fe1" args="(size_t i, vector&lt; U &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::getRelationFrom </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00242">242</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>, <a class="el" href="matrix__adaptors_8h_source.html#l00356">mrpt::math::CConstMatrixRowAccessor::begin()</a>, and <a class="el" href="matrix__adaptors_8h_source.html#l00359">mrpt::math::CConstMatrixRowAccessor::end()</a>.</p>

</div>
</div>
<a class="anchor" id="a2436ff89d5b0cdfa06b2e68945111258"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationFrom" ref="a2436ff89d5b0cdfa06b2e68945111258" args="(const T &amp;t, vector&lt; U &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::getRelationFrom </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00249">249</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00202">getRelationFrom()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="aab2f2b5fe10d2d9358d74469869eedce"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationTo" ref="aab2f2b5fe10d2d9358d74469869eedce" args="(size_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab25cc02073cbdb37335cfd1cbce874d3">AccessorForSecondElement</a> mrpt::math::CBinaryRelation::getRelationTo </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an accessor for every value related to an element B given its index, i.e., every f(x,B). </p>
<p>This accessor is iterable. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00214">214</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00258">getRelationTo()</a>.</p>

</div>
</div>
<a class="anchor" id="a889027227a75176a3c98f3ebea4a00f0"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationTo" ref="a889027227a75176a3c98f3ebea4a00f0" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af3c404ad83f598aec39e9f2040b4a060">ConstAccessorForSecondElement</a> mrpt::math::CBinaryRelation::getRelationTo </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a constant accessor for every value related to an element B given its index, i.e., every f(x,B). </p>
<p>This accessor is fully iterable. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00220">220</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

</div>
</div>
<a class="anchor" id="acb9684bf8fb97f75c7f4033246be657f"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationTo" ref="acb9684bf8fb97f75c7f4033246be657f" args="(const T &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#ab25cc02073cbdb37335cfd1cbce874d3">AccessorForSecondElement</a> mrpt::math::CBinaryRelation::getRelationTo </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterable accessor for every value related to an element B, i.e., every f(x,B). </p>
<p>A domain_error will be thrown if the element is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00258">258</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00214">getRelationTo()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a52cce76d072f769327271b6cf7b274c8"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationTo" ref="a52cce76d072f769327271b6cf7b274c8" args="(const T &amp;t) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#af3c404ad83f598aec39e9f2040b4a060">ConstAccessorForSecondElement</a> mrpt::math::CBinaryRelation::getRelationTo </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterable constant accessor for every value related to an alement B, i.e., every f(x,B). </p>
<p>A domain_error will be thrown if the element is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00268">268</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00214">getRelationTo()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="afad71052b0f09715b5929028dc6a857f"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationTo" ref="afad71052b0f09715b5929028dc6a857f" args="(size_t i, vector&lt; U &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::getRelationTo </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00274">274</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>, <a class="el" href="matrix__adaptors_8h_source.html#l00577">mrpt::math::CConstMatrixColumnAccessor::begin()</a>, and <a class="el" href="matrix__adaptors_8h_source.html#l00580">mrpt::math::CConstMatrixColumnAccessor::end()</a>.</p>

</div>
</div>
<a class="anchor" id="a78b5d3f578952c8c819a179bb5dac5a0"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationTo" ref="a78b5d3f578952c8c819a179bb5dac5a0" args="(const T &amp;t, vector&lt; U &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::getRelationTo </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; U &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00281">281</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00214">getRelationTo()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a7b21d9f0ebf4ce84b038c9152514ae43"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationValue" ref="a7b21d9f0ebf4ce84b038c9152514ae43" args="(size_t e1, size_t e2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const U&amp; mrpt::math::CBinaryRelation::getRelationValue </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a relation value, given the indices. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00122">122</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00125">operator()()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00150">getRelationValue()</a>.</p>

</div>
</div>
<a class="anchor" id="a24d48da89fbd795e41e4d5586ed0ffcd"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationValue" ref="a24d48da89fbd795e41e4d5586ed0ffcd" args="(size_t e1, size_t e2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U&amp; mrpt::math::CBinaryRelation::getRelationValue </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a reference to a relation value given its indices, which allows both querying and setting the value. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00131">131</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

</div>
</div>
<a class="anchor" id="a30dcc07d5cca61efc3a46328954c31c2"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationValue" ref="a30dcc07d5cca61efc3a46328954c31c2" args="(const T &amp;t1, const T &amp;t2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U mrpt::math::CBinaryRelation::getRelationValue </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a relation value, given the elements. </p>
<p>Throws domain_error if any of the elements is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00150">150</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00122">getRelationValue()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a48dc3add0a66d109e0056e19bb865c82"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::getRelationValue" ref="a48dc3add0a66d109e0056e19bb865c82" args="(const T &amp;t1, const T &amp;t2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U&amp; mrpt::math::CBinaryRelation::getRelationValue </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a reference to a relation value given the elements, which allows both querying and setting. </p>
<p>Throws domain_error if any of the elements is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00160">160</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00122">getRelationValue()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a525ba2c060ca8b0b632f6beaf45a1bfe"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::initializeSymmetricallyWith" ref="a525ba2c060ca8b0b632f6beaf45a1bfe" args="(FunctionType fun)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FunctionType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::initializeSymmetricallyWith </td>
          <td>(</td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>fun</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the whole relation with a given function, assuming that the relation is symmetrical. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00101">101</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00073">applyFunction()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

</div>
</div>
<a class="anchor" id="ab4c5cbeb4b4c1b66ccf496a678e8a4e3"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::initializeWith" ref="ab4c5cbeb4b4c1b66ccf496a678e8a4e3" args="(FunctionType fun)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FunctionType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::initializeWith </td>
          <td>(</td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>fun</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the whole relation with a given function. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00091">91</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00073">applyFunction()</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00085">CBinaryRelation()</a>.</p>

</div>
</div>
<a class="anchor" id="a1d0ab22a46d50973e416e81353bb4c74"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::insertElement" ref="a1d0ab22a46d50973e416e81353bb4c74" args="(const T &amp;el)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;bool,size_t&gt; mrpt::math::CBinaryRelation::insertElement </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>el</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts an element. </p>
<p>If the element was present, returns false and its current position. If it wasn't, returns true and the position in which it was inserted. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00339">339</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00352">insertElement()</a>.</p>

</div>
</div>
<a class="anchor" id="ac46075f4f49633b71793c88d9e5b504a"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::insertElement" ref="ac46075f4f49633b71793c88d9e5b504a" args="(const T &amp;el, FunctionType fun)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FunctionType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;bool,size_t&gt; mrpt::math::CBinaryRelation::insertElement </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>el</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>fun</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts an element and initializes its relationship values, even if it was already present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00352">352</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00339">insertElement()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00193">operator[]()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00073">applyFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ec3583e24d1946b7483dbf088718ab6"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::insertElements" ref="a3ec3583e24d1946b7483dbf088718ab6" args="(const std::set&lt; T &gt; &amp;els)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CBinaryRelation::insertElements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>els</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts a set of elements into the relation. </p>
<p>Does not initialize the actual relation. </p>

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

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00391">insertElements()</a>.</p>

</div>
</div>
<a class="anchor" id="a9eb0bac1f1938bdb4498bd72670dbe92"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::insertElements" ref="a9eb0bac1f1938bdb4498bd72670dbe92" args="(const std::set&lt; T &gt; &amp;els, FunctionType fun)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FunctionType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CBinaryRelation::insertElements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>els</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>fun</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts a set of elements into the relation, initializing the actual relation with a given function. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00391">391</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00365">insertElements()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00169">begin()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00175">end()</a>, <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00193">operator[]()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00073">applyFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="a9030aa25ba44a1fdd2a5a43e9de951ee"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::operator()" ref="a9030aa25ba44a1fdd2a5a43e9de951ee" args="(size_t e1, size_t e2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const U&amp; mrpt::math::CBinaryRelation::operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00125">125</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00122">getRelationValue()</a>.</p>

</div>
</div>
<a class="anchor" id="a6741751070b9fed516bc43adf9f856c7"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::operator()" ref="a6741751070b9fed516bc43adf9f856c7" args="(size_t e1, size_t e2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U&amp; mrpt::math::CBinaryRelation::operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00134">134</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00122">getRelationValue()</a>.</p>

</div>
</div>
<a class="anchor" id="a439e2055644b08ec329ce9a8d253f24e"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::operator[]" ref="a439e2055644b08ec329ce9a8d253f24e" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T mrpt::math::CBinaryRelation::operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Operator for direct access to a element given its index. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00193">193</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00287">ASSERT_BELOW_</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00352">insertElement()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00391">insertElements()</a>.</p>

</div>
</div>
<a class="anchor" id="ac6c7171bf934dbd57060a86f23ad9de6"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::rbegin" ref="ac6c7171bf934dbd57060a86f23ad9de6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a> mrpt::math::CBinaryRelation::rbegin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a reverse iterator to the ending point of the elements set. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00181">181</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

</div>
</div>
<a class="anchor" id="a0f590ddfb9925941400adbe84efbd72f"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::removeElement" ref="a0f590ddfb9925941400adbe84efbd72f" args="(const T &amp;el)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::math::CBinaryRelation::removeElement </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>el</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes an element. </p>
<p>Returns false if the element was not present and thus could'nt be eliminated. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00302">302</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00290">removeElementAt()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a210c1c49d6b455a05387251ba90e3586"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::removeElementAt" ref="a210c1c49d6b455a05387251ba90e3586" args="(size_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::removeElementAt </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes an element at a concrete position. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00290">290</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00302">removeElement()</a>.</p>

</div>
</div>
<a class="anchor" id="ae4f59b47c8455dc176423afba05054ba"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::removeElements" ref="ae4f59b47c8455dc176423afba05054ba" args="(const set&lt; T &gt; &amp;vals)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CBinaryRelation::removeElements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">set</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>vals</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a set of elements. </p>
<p>Returns the number of elements which were actually erased. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00312">312</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00327">removeElementsAt()</a>.</p>

</div>
</div>
<a class="anchor" id="afcdbc56f86d9a4aaf05459a401b9a143"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::removeElementsAt" ref="afcdbc56f86d9a4aaf05459a401b9a143" args="(const set&lt; size_t &gt; &amp;poss)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::removeElementsAt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">set</a>&lt; size_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>poss</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00327">327</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00312">removeElements()</a>.</p>

</div>
</div>
<a class="anchor" id="af5ac35a9b38ec6e0056d216e522bda94"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::rend" ref="af5ac35a9b38ec6e0056d216e522bda94" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a0125cd91914dbb6b75615a55911173cc">const_reverse_iterator</a> mrpt::math::CBinaryRelation::rend </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a reverse iterator to the starting point of the elements set. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00187">187</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

</div>
</div>
<a class="anchor" id="ae704d4e75b665bbe320c10d922043489"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::setElements" ref="ae704d4e75b665bbe320c10d922043489" args="(const std::set&lt; T &gt; &amp;newEls)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::setElements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1set.html">std::set</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>newEls</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Completely resets the relation, using a new set of elements. </p>
<p>Does not initialize the relation. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00421">421</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

</div>
</div>
<a class="anchor" id="a4d2ea8625c09101701dd3d2ccbcb149b"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::setRelationValue" ref="a4d2ea8625c09101701dd3d2ccbcb149b" args="(size_t e1, size_t e2, const U &amp;newVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CBinaryRelation::setRelationValue </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>e2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const U &amp;&#160;</td>
          <td class="paramname"><em>newVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Manually set a relationship value, given the indices. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00116">116</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00067">relation</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00140">setRelationValue()</a>.</p>

</div>
</div>
<a class="anchor" id="a941f8afd63945a3d61cf74c3a5840437"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::setRelationValue" ref="a941f8afd63945a3d61cf74c3a5840437" args="(const T &amp;t1, const T &amp;t2, const U &amp;newVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::math::CBinaryRelation::setRelationValue </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>t2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const U &amp;&#160;</td>
          <td class="paramname"><em>newVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Manually set a relationship value, given the elements. </p>
<p>Returns false if any of the elements is not present. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00140">140</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00116">setRelationValue()</a>, and <a class="el" href="group__geometry__grp.html#ga8c0a76e906f12560cfa49fcd269c8398">mrpt::math::distance()</a>.</p>

</div>
</div>
<a class="anchor" id="a3fb9d4e7e2d72fa030cbecd9a1f6bbab"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::size" ref="a3fb9d4e7e2d72fa030cbecd9a1f6bbab" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CBinaryRelation::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the amount of elements present in the relation. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00429">429</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>References <a class="el" href="_c_binary_relation_8h_source.html#l00066">elements</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="abe0e7bcd6cf991f27631ac3ae2a4db48"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::elements" ref="abe0e7bcd6cf991f27631ac3ae2a4db48" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1set.html">std::set</a>&lt;T&gt; <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#abe0e7bcd6cf991f27631ac3ae2a4db48">mrpt::math::CBinaryRelation::elements</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Actual set of elements. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00066">66</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00091">initializeWith()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00101">initializeSymmetricallyWith()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00140">setRelationValue()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00150">getRelationValue()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00169">begin()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00175">end()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00181">rbegin()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00187">rend()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00193">operator[]()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00226">getRelationFrom()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00258">getRelationTo()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00290">removeElementAt()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00302">removeElement()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00312">removeElements()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00327">removeElementsAt()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00339">insertElement()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00365">insertElements()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00421">setElements()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00429">size()</a>.</p>

</div>
</div>
<a class="anchor" id="aa80f763010af1fe6fb017671cbb58923"></a><!-- doxytag: member="mrpt::math::CBinaryRelation::relation" ref="aa80f763010af1fe6fb017671cbb58923" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#a5ac3d3c70bd310b64719cdc9a143d3c8">MatrixType</a> <a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html#aa80f763010af1fe6fb017671cbb58923">mrpt::math::CBinaryRelation::relation</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix storing the relation. </p>

<p>Definition at line <a class="el" href="_c_binary_relation_8h_source.html#l00067">67</a> of file <a class="el" href="_c_binary_relation_8h_source.html">CBinaryRelation.h</a>.</p>

<p>Referenced by <a class="el" href="_c_binary_relation_8h_source.html#l00101">initializeSymmetricallyWith()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00116">setRelationValue()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00122">getRelationValue()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00202">getRelationFrom()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00214">getRelationTo()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00290">removeElementAt()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00327">removeElementsAt()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00339">insertElement()</a>, <a class="el" href="_c_binary_relation_8h_source.html#l00365">insertElements()</a>, and <a class="el" href="_c_binary_relation_8h_source.html#l00421">setElements()</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.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>