classfv_1_1ReduceIndex.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.13"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>TTTT Analysis: fv::ReduceIndex&lt; T &gt; Class Template Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">TTTT Analysis
  25. &#160;<span id="projectnumber">0.1</span>
  26. </div>
  27. </td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. </div>
  32. <!-- end header part -->
  33. <!-- Generated by Doxygen 1.8.13 -->
  34. <script type="text/javascript">
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  36. </script>
  37. <script type="text/javascript" src="menudata.js"></script>
  38. <script type="text/javascript" src="menu.js"></script>
  39. <script type="text/javascript">
  40. $(function() {
  41. initMenu('',true,false,'search.php','Search');
  42. $(document).ready(function() { init_search(); });
  43. });
  44. </script>
  45. <div id="main-nav"></div>
  46. <!-- window showing the filter options -->
  47. <div id="MSearchSelectWindow"
  48. onmouseover="return searchBox.OnSearchSelectShow()"
  49. onmouseout="return searchBox.OnSearchSelectHide()"
  50. onkeydown="return searchBox.OnSearchSelectKey(event)">
  51. </div>
  52. <!-- iframe showing the search results (closed by default) -->
  53. <div id="MSearchResultsWindow">
  54. <iframe src="javascript:void(0)" frameborder="0"
  55. name="MSearchResults" id="MSearchResults">
  56. </iframe>
  57. </div>
  58. <div id="nav-path" class="navpath">
  59. <ul>
  60. <li class="navelem"><a class="el" href="namespacefv.html">fv</a></li><li class="navelem"><a class="el" href="classfv_1_1ReduceIndex.html">ReduceIndex</a></li> </ul>
  61. </div>
  62. </div><!-- top -->
  63. <div class="header">
  64. <div class="summary">
  65. <a href="#pub-methods">Public Member Functions</a> &#124;
  66. <a href="#pri-methods">Private Member Functions</a> &#124;
  67. <a href="#pri-attribs">Private Attributes</a> &#124;
  68. <a href="classfv_1_1ReduceIndex-members.html">List of all members</a> </div>
  69. <div class="headertitle">
  70. <div class="title">fv::ReduceIndex&lt; T &gt; Class Template Reference</div> </div>
  71. </div><!--header-->
  72. <div class="contents">
  73. <p>Similar to <a class="el" href="classfv_1_1Reduce.html" title="Reduce a Value of type vector&lt;T&gt; to just a T. ">Reduce</a>, but returns a pair of a T and an int.
  74. <a href="classfv_1_1ReduceIndex.html#details">More...</a></p>
  75. <p><code>#include &lt;<a class="el" href="value_8hpp_source.html">value.hpp</a>&gt;</code></p>
  76. <div class="dynheader">
  77. Inheritance diagram for fv::ReduceIndex&lt; T &gt;:</div>
  78. <div class="dyncontent">
  79. <div class="center"><img src="classfv_1_1ReduceIndex__inherit__graph.png" border="0" usemap="#fv_1_1ReduceIndex_3_01T_01_4_inherit__map" alt="Inheritance graph"/></div>
  80. <map name="fv_1_1ReduceIndex_3_01T_01_4_inherit__map" id="fv_1_1ReduceIndex_3_01T_01_4_inherit__map">
  81. <area shape="rect" id="node4" href="classfv_1_1MaxIndex.html" title="Find and return the maximum value of a vector and its index. " alt="" coords="5,259,148,285"/>
  82. <area shape="rect" id="node5" href="classfv_1_1MinIndex.html" title="Find and return the minimum value of a vector and its index. " alt="" coords="173,259,311,285"/>
  83. <area shape="rect" id="node2" href="classfv_1_1DerivedValue.html" title="fv::DerivedValue\&lt; std\l::pair\&lt; T, int \&gt; \&gt;" alt="" coords="77,95,241,136"/>
  84. <area shape="rect" id="node3" href="classfv_1_1Value.html" title="fv::Value\&lt; std::pair\l\&lt; T, int \&gt; \&gt;" alt="" coords="86,5,233,47"/>
  85. </map>
  86. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  87. <div class="dynheader">
  88. Collaboration diagram for fv::ReduceIndex&lt; T &gt;:</div>
  89. <div class="dyncontent">
  90. <div class="center"><img src="classfv_1_1ReduceIndex__coll__graph.png" border="0" usemap="#fv_1_1ReduceIndex_3_01T_01_4_coll__map" alt="Collaboration graph"/></div>
  91. <map name="fv_1_1ReduceIndex_3_01T_01_4_coll__map" id="fv_1_1ReduceIndex_3_01T_01_4_coll__map">
  92. <area shape="rect" id="node2" href="classfv_1_1DerivedValue.html" title="fv::DerivedValue\&lt; std\l::pair\&lt; T, int \&gt; \&gt;" alt="" coords="5,96,169,137"/>
  93. <area shape="rect" id="node3" href="classfv_1_1Value.html" title="fv::Value\&lt; std::pair\l\&lt; T, int \&gt; \&gt;" alt="" coords="14,5,161,47"/>
  94. <area shape="rect" id="node4" href="classfv_1_1Value.html" title="fv::Value\&lt; std::vector\l\&lt; T \&gt; \&gt;" alt="" coords="194,96,357,137"/>
  95. </map>
  96. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  97. <table class="memberdecls">
  98. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  99. Public Member Functions</h2></td></tr>
  100. <tr class="memitem:ad118a68262cfa9519bb7030502115ca9"><td class="memItemLeft" align="right" valign="top"><a id="ad118a68262cfa9519bb7030502115ca9"></a>
  101. &#160;</td><td class="memItemRight" valign="bottom"><b>ReduceIndex</b> (Function&lt; std::pair&lt; T, int &gt;(std::vector&lt; T &gt;)&gt; &amp;reduce, <a class="el" href="classfv_1_1Value.html">Value</a>&lt; std::vector&lt; T &gt; &gt; *v, const std::string alias=&quot;&quot;)</td></tr>
  102. <tr class="separator:ad118a68262cfa9519bb7030502115ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="inherit_header pub_methods_classfv_1_1DerivedValue"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classfv_1_1DerivedValue')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classfv_1_1DerivedValue.html">fv::DerivedValue&lt; std::pair&lt; T, int &gt; &gt;</a></td></tr>
  104. <tr class="memitem:a00219a17112600afdc060d67d6f95b21 inherit pub_methods_classfv_1_1DerivedValue"><td class="memItemLeft" align="right" valign="top"><a id="a00219a17112600afdc060d67d6f95b21"></a>
  105. &#160;</td><td class="memItemRight" valign="bottom"><b>DerivedValue</b> (const std::string &amp;name, const std::string &amp;alias=&quot;&quot;)</td></tr>
  106. <tr class="separator:a00219a17112600afdc060d67d6f95b21 inherit pub_methods_classfv_1_1DerivedValue"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a7ac6d7f0a92fb9753f7c0bfcf26b6b0d inherit pub_methods_classfv_1_1DerivedValue"><td class="memItemLeft" align="right" valign="top"><a id="a7ac6d7f0a92fb9753f7c0bfcf26b6b0d"></a>
  108. void&#160;</td><td class="memItemRight" valign="bottom"><b>log</b> ()</td></tr>
  109. <tr class="separator:a7ac6d7f0a92fb9753f7c0bfcf26b6b0d inherit pub_methods_classfv_1_1DerivedValue"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:a39970158aa8f6eb062a28037df6e2128 inherit pub_methods_classfv_1_1DerivedValue"><td class="memItemLeft" align="right" valign="top"><a id="a39970158aa8f6eb062a28037df6e2128"></a>
  111. std::pair&lt; T, int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>get_value</b> ()</td></tr>
  112. <tr class="memdesc:a39970158aa8f6eb062a28037df6e2128 inherit pub_methods_classfv_1_1DerivedValue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate, if necessary, and return the value held by this object. <br /></td></tr>
  113. <tr class="separator:a39970158aa8f6eb062a28037df6e2128 inherit pub_methods_classfv_1_1DerivedValue"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="inherit_header pub_methods_classfv_1_1Value"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classfv_1_1Value')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classfv_1_1Value.html">fv::Value&lt; std::pair&lt; T, int &gt; &gt;</a></td></tr>
  115. <tr class="memitem:afded92c24f946c1551c1f1b005f31091 inherit pub_methods_classfv_1_1Value"><td class="memItemLeft" align="right" valign="top"><a id="afded92c24f946c1551c1f1b005f31091"></a>
  116. &#160;</td><td class="memItemRight" valign="bottom"><b>Value</b> (const std::string &amp;name, const std::string &amp;alias=&quot;&quot;)</td></tr>
  117. <tr class="separator:afded92c24f946c1551c1f1b005f31091 inherit pub_methods_classfv_1_1Value"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:a477ab6275568b0c5afbcf92901cc3a6e inherit pub_methods_classfv_1_1Value"><td class="memItemLeft" align="right" valign="top"><a id="a477ab6275568b0c5afbcf92901cc3a6e"></a>
  119. void&#160;</td><td class="memItemRight" valign="bottom"><b>enable_logging</b> (const std::function&lt; std::string(std::pair&lt; T, int &gt;)&gt; &amp;value_to_string=[](std::pair&lt; T, int &gt;){return &quot;&quot;;})</td></tr>
  120. <tr class="separator:a477ab6275568b0c5afbcf92901cc3a6e inherit pub_methods_classfv_1_1Value"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:a8a3517fdba15dcb2c141dbd58fc232b1 inherit pub_methods_classfv_1_1Value"><td class="memItemLeft" align="right" valign="top"><a id="a8a3517fdba15dcb2c141dbd58fc232b1"></a>
  122. void&#160;</td><td class="memItemRight" valign="bottom"><b>disable_logging</b> ()</td></tr>
  123. <tr class="separator:a8a3517fdba15dcb2c141dbd58fc232b1 inherit pub_methods_classfv_1_1Value"><td class="memSeparator" colspan="2">&#160;</td></tr>
  124. </table><table class="memberdecls">
  125. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  126. Private Member Functions</h2></td></tr>
  127. <tr class="memitem:a462bffebe2a93c940aca526566d48e37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfv_1_1ReduceIndex.html#a462bffebe2a93c940aca526566d48e37">update_value</a> ()</td></tr>
  128. <tr class="memdesc:a462bffebe2a93c940aca526566d48e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the internal value. <a href="#a462bffebe2a93c940aca526566d48e37">More...</a><br /></td></tr>
  129. <tr class="separator:a462bffebe2a93c940aca526566d48e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. </table><table class="memberdecls">
  131. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
  132. Private Attributes</h2></td></tr>
  133. <tr class="memitem:a36e2279f62f6480d882be0bc08cba098"><td class="memItemLeft" align="right" valign="top"><a id="a36e2279f62f6480d882be0bc08cba098"></a>
  134. Function&lt; std::pair&lt; T, int &gt;std::vector&lt; T &gt;)&gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>reduce</b></td></tr>
  135. <tr class="separator:a36e2279f62f6480d882be0bc08cba098"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:a964863091c91f86b5718973f010dbb00"><td class="memItemLeft" align="right" valign="top"><a id="a964863091c91f86b5718973f010dbb00"></a>
  137. <a class="el" href="classfv_1_1Value.html">Value</a>&lt; std::vector&lt; T &gt; &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>v</b></td></tr>
  138. <tr class="separator:a964863091c91f86b5718973f010dbb00"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. </table><table class="memberdecls">
  140. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
  141. Additional Inherited Members</h2></td></tr>
  142. <tr class="inherit_header pro_attribs_classfv_1_1DerivedValue"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classfv_1_1DerivedValue')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classfv_1_1DerivedValue.html">fv::DerivedValue&lt; std::pair&lt; T, int &gt; &gt;</a></td></tr>
  143. <tr class="memitem:aeb7ff5d17ad44b2040fc9930bbcc2c7a inherit pro_attribs_classfv_1_1DerivedValue"><td class="memItemLeft" align="right" valign="top"><a id="aeb7ff5d17ad44b2040fc9930bbcc2c7a"></a>
  144. std::pair&lt; T, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>value</b></td></tr>
  145. <tr class="separator:aeb7ff5d17ad44b2040fc9930bbcc2c7a inherit pro_attribs_classfv_1_1DerivedValue"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="inherit_header pro_attribs_classfv_1_1Value"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classfv_1_1Value')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classfv_1_1Value.html">fv::Value&lt; std::pair&lt; T, int &gt; &gt;</a></td></tr>
  147. <tr class="memitem:aa0269699348665b8e978c1e848e74abe inherit pro_attribs_classfv_1_1Value"><td class="memItemLeft" align="right" valign="top"><a id="aa0269699348665b8e978c1e848e74abe"></a>
  148. std::function&lt; std::string(std::pair&lt; T, int &gt;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>value_to_string</b></td></tr>
  149. <tr class="separator:aa0269699348665b8e978c1e848e74abe inherit pro_attribs_classfv_1_1Value"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. </table>
  151. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  152. <div class="textblock"><h3>template&lt;typename T&gt;<br />
  153. class fv::ReduceIndex&lt; T &gt;</h3>
  154. <p>Similar to <a class="el" href="classfv_1_1Reduce.html" title="Reduce a Value of type vector&lt;T&gt; to just a T. ">Reduce</a>, but returns a pair of a T and an int. </p>
  155. <p>This is useful if you need to know where in the vector exists the element being returned. </p>
  156. <p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l01063">1063</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>
  157. </div><h2 class="groupheader">Member Function Documentation</h2>
  158. <a id="a462bffebe2a93c940aca526566d48e37"></a>
  159. <h2 class="memtitle"><span class="permalink"><a href="#a462bffebe2a93c940aca526566d48e37">&#9670;&nbsp;</a></span>update_value()</h2>
  160. <div class="memitem">
  161. <div class="memproto">
  162. <div class="memtemplate">
  163. template&lt;typename T &gt; </div>
  164. <table class="mlabels">
  165. <tr>
  166. <td class="mlabels-left">
  167. <table class="memname">
  168. <tr>
  169. <td class="memname">void <a class="el" href="classfv_1_1ReduceIndex.html">fv::ReduceIndex</a>&lt; T &gt;::update_value </td>
  170. <td>(</td>
  171. <td class="paramname"></td><td>)</td>
  172. <td></td>
  173. </tr>
  174. </table>
  175. </td>
  176. <td class="mlabels-right">
  177. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span> </td>
  178. </tr>
  179. </table>
  180. </div><div class="memdoc">
  181. <p>Updates the internal value. </p>
  182. <p>This function should be overridden by any child class to do the actual work of updating value based on whatever rules the class chooses. Normally, this consists of geting the values from some associated <a class="el" href="classfv_1_1Value.html" title="A templated value. ">Value</a> objects, doing some calculation on them, and storing the result in value. </p>
  183. <p>Implements <a class="el" href="classfv_1_1DerivedValue.html#ae59e80a98eb74b95d8961bfe12ee5ec2">fv::DerivedValue&lt; std::pair&lt; T, int &gt; &gt;</a>.</p>
  184. <p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l01068">1068</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>
  185. </div>
  186. </div>
  187. <hr/>The documentation for this class was generated from the following file:<ul>
  188. <li>/home/caleb/Sources/TTTT/filval/<a class="el" href="value_8hpp_source.html">value.hpp</a></li>
  189. </ul>
  190. </div><!-- contents -->
  191. <!-- start footer part -->
  192. <hr class="footer"/><address class="footer"><small>
  193. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  194. <img class="footer" src="doxygen.png" alt="doxygen"/>
  195. </a> 1.8.13
  196. </small></address>
  197. </body>
  198. </html>