123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.13"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>TTTT Analysis: fv::DerivedValue< T > Class Template Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="search/searchdata.js"></script>
- <script type="text/javascript" src="search/search.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">TTTT Analysis
-  <span id="projectnumber">0.1</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.13 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- $(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
- });
- </script>
- <div id="main-nav"></div>
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- </div>
- <!-- iframe showing the search results (closed by default) -->
- <div id="MSearchResultsWindow">
- <iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
- </iframe>
- </div>
- <div id="nav-path" class="navpath">
- <ul>
- <li class="navelem"><a class="el" href="namespacefv.html">fv</a></li><li class="navelem"><a class="el" href="classfv_1_1DerivedValue.html">DerivedValue</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pro-methods">Protected Member Functions</a> |
- <a href="#pro-attribs">Protected Attributes</a> |
- <a href="#pri-methods">Private Member Functions</a> |
- <a href="classfv_1_1DerivedValue-members.html">List of all members</a> </div>
- <div class="headertitle">
- <div class="title">fv::DerivedValue< T > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
- </div><!--header-->
- <div class="contents">
- <p>A <a class="el" href="classfv_1_1Value.html" title="A generic value. ">Value</a> derived from some other Values, not directly from the dataset.
- <a href="classfv_1_1DerivedValue.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="value_8hpp_source.html">value.hpp</a>></code></p>
- <div class="dynheader">
- Inheritance diagram for fv::DerivedValue< T >:</div>
- <div class="dyncontent">
- <div class="center"><img src="classfv_1_1DerivedValue__inherit__graph.png" border="0" usemap="#fv_1_1DerivedValue_3_01T_01_4_inherit__map" alt="Inheritance graph"/></div>
- <map name="fv_1_1DerivedValue_3_01T_01_4_inherit__map" id="fv_1_1DerivedValue_3_01T_01_4_inherit__map">
- <area shape="rect" id="node3" href="classfv_1_1BoundValue.html" title="A generic value owning only a function object. " alt="" coords="5,155,163,181"/>
- <area shape="rect" id="node4" href="classfv_1_1ConstantValue.html" title="A Value which always returns the same value, supplied in the constructor. " alt="" coords="187,155,362,181"/>
- <area shape="rect" id="node5" href="classfv_1_1Reduce.html" title="Reduce a Value of type vector<T> to just a T. " alt="" coords="386,155,513,181"/>
- <area shape="rect" id="node2" href="classfv_1_1Value.html" title="A generic value. " alt="" coords="217,5,333,32"/>
- <area shape="rect" id="node6" href="classfv_1_1ElementOf.html" title="Extract the element at a specific index from a vector. " alt="" coords="88,229,237,256"/>
- <area shape="rect" id="node7" href="classfv_1_1Max.html" title="Find and return the maximum value of a vector. " alt="" coords="261,229,368,256"/>
- <area shape="rect" id="node8" href="classfv_1_1Mean.html" title="Calculate the mean value of a vector. " alt="" coords="392,229,507,256"/>
- <area shape="rect" id="node9" href="classfv_1_1Min.html" title="Find and return the minimum value of a vector. " alt="" coords="531,229,634,256"/>
- <area shape="rect" id="node10" href="classfv_1_1Range.html" title="Calculate the range of the values in a vector. " alt="" coords="658,229,779,256"/>
- </map>
- <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
- <div class="dynheader">
- Collaboration diagram for fv::DerivedValue< T >:</div>
- <div class="dyncontent">
- <div class="center"><img src="classfv_1_1DerivedValue__coll__graph.png" border="0" usemap="#fv_1_1DerivedValue_3_01T_01_4_coll__map" alt="Collaboration graph"/></div>
- <map name="fv_1_1DerivedValue_3_01T_01_4_coll__map" id="fv_1_1DerivedValue_3_01T_01_4_coll__map">
- <area shape="rect" id="node2" href="classfv_1_1Value.html" title="A generic value. " alt="" coords="31,5,147,32"/>
- </map>
- <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr class="memitem:a00219a17112600afdc060d67d6f95b21"><td class="memItemLeft" align="right" valign="top"><a id="a00219a17112600afdc060d67d6f95b21"></a>
-  </td><td class="memItemRight" valign="bottom"><b>DerivedValue</b> (const std::string &name, const std::string &alias="")</td></tr>
- <tr class="separator:a00219a17112600afdc060d67d6f95b21"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a39970158aa8f6eb062a28037df6e2128"><td class="memItemLeft" align="right" valign="top"><a id="a39970158aa8f6eb062a28037df6e2128"></a>
- T & </td><td class="memItemRight" valign="bottom"><a class="el" href="classfv_1_1DerivedValue.html#a39970158aa8f6eb062a28037df6e2128">get_value</a> ()</td></tr>
- <tr class="memdesc:a39970158aa8f6eb062a28037df6e2128"><td class="mdescLeft"> </td><td class="mdescRight">Calculate, if necessary, and return the value held by this object. <br /></td></tr>
- <tr class="separator:a39970158aa8f6eb062a28037df6e2128"><td class="memSeparator" colspan="2"> </td></tr>
- <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="-"/> Public Member Functions inherited from <a class="el" href="classfv_1_1Value.html">fv::Value< T ></a></td></tr>
- <tr class="memitem:afded92c24f946c1551c1f1b005f31091 inherit pub_methods_classfv_1_1Value"><td class="memItemLeft" align="right" valign="top"><a id="afded92c24f946c1551c1f1b005f31091"></a>
-  </td><td class="memItemRight" valign="bottom"><b>Value</b> (const std::string &name, const std::string &alias="")</td></tr>
- <tr class="separator:afded92c24f946c1551c1f1b005f31091 inherit pub_methods_classfv_1_1Value"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
- Protected Member Functions</h2></td></tr>
- <tr class="memitem:ae59e80a98eb74b95d8961bfe12ee5ec2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfv_1_1DerivedValue.html#ae59e80a98eb74b95d8961bfe12ee5ec2">update_value</a> ()=0</td></tr>
- <tr class="memdesc:ae59e80a98eb74b95d8961bfe12ee5ec2"><td class="mdescLeft"> </td><td class="mdescRight">Updates the internal value. <a href="#ae59e80a98eb74b95d8961bfe12ee5ec2">More...</a><br /></td></tr>
- <tr class="separator:ae59e80a98eb74b95d8961bfe12ee5ec2"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
- Protected Attributes</h2></td></tr>
- <tr class="memitem:aeb7ff5d17ad44b2040fc9930bbcc2c7a"><td class="memItemLeft" align="right" valign="top"><a id="aeb7ff5d17ad44b2040fc9930bbcc2c7a"></a>
- T </td><td class="memItemRight" valign="bottom"><b>value</b></td></tr>
- <tr class="separator:aeb7ff5d17ad44b2040fc9930bbcc2c7a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aafa55adbb38dc7fe210ea15e920515dc"><td class="memItemLeft" align="right" valign="top"><a id="aafa55adbb38dc7fe210ea15e920515dc"></a>
- bool </td><td class="memItemRight" valign="bottom"><b>value_valid</b></td></tr>
- <tr class="separator:aafa55adbb38dc7fe210ea15e920515dc"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
- Private Member Functions</h2></td></tr>
- <tr class="memitem:a5c296d4f3171797f31a3fab002dececa"><td class="memItemLeft" align="right" valign="top"><a id="a5c296d4f3171797f31a3fab002dececa"></a>
- void </td><td class="memItemRight" valign="bottom"><b>_reset</b> ()</td></tr>
- <tr class="separator:a5c296d4f3171797f31a3fab002dececa"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><h3>template<typename T><br />
- class fv::DerivedValue< T ></h3>
- <p>A <a class="el" href="classfv_1_1Value.html" title="A generic value. ">Value</a> derived from some other Values, not directly from the dataset. </p>
- <p>A <a class="el" href="classfv_1_1DerivedValue.html" title="A Value derived from some other Values, not directly from the dataset. ">DerivedValue</a> is generally defined as some function of other <a class="el" href="classfv_1_1Value.html" title="A generic value. ">Value</a> objects. For example, a <a class="el" href="classfv_1_1Pair.html" title="Creates a std::pair type from a two other Value objects. ">Pair</a> is a function of two other <a class="el" href="classfv_1_1Value.html" title="A generic value. ">Value</a> objects that makes a pair of them. Note that these other <a class="el" href="classfv_1_1Value.html" title="A generic value. ">Value</a> objects are free to be either ObservedValues or other DerivedValues.</p>
- <p>It is desireable from a performance standpoint that each <a class="el" href="classfv_1_1DerivedValue.html" title="A Value derived from some other Values, not directly from the dataset. ">DerivedValue</a> be calculated no more than once per observation. Therefore, when a get_value is called on a <a class="el" href="classfv_1_1DerivedValue.html" title="A Value derived from some other Values, not directly from the dataset. ">DerivedValue</a>, it first checks whether the value that it holds is <b>valid</b>, meaning it has already been calculated for this observation. If so, it simply returns the value. If not, the update_value function is called to calculate the value. and then the newly calculated value is marked as valid and returned. </p>
- </div><h2 class="groupheader">Member Function Documentation</h2>
- <a id="ae59e80a98eb74b95d8961bfe12ee5ec2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae59e80a98eb74b95d8961bfe12ee5ec2">◆ </a></span>update_value()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename T> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void <a class="el" href="classfv_1_1DerivedValue.html">fv::DerivedValue</a>< T >::update_value </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Updates the internal value. </p>
- <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 generic value. ">Value</a> objects, doing some calculation on them, and storing the result in value. </p>
- <p>Implemented in <a class="el" href="classfv_1_1ConstantValue.html#a6581e7fb69c082c07c9714138063b320">fv::ConstantValue< T ></a>, <a class="el" href="classfv_1_1PointerValue.html#a81e39d040919be39c37f845a27343f3e">fv::PointerValue< T ></a>, <a class="el" href="classfv_1_1BoundValue.html#a51ba914f1eac694af4264d62785282a1">fv::BoundValue< T ></a>, <a class="el" href="classfv_1_1ReduceIndex.html#a462bffebe2a93c940aca526566d48e37">fv::ReduceIndex< T ></a>, <a class="el" href="classfv_1_1Reduce.html#ab0809c4ab1884b84a7f88e005ade76a5">fv::Reduce< T ></a>, <a class="el" href="classfv_1_1Filter.html#a3666dcad055ca8b0f7c7ab675f5eb57d">fv::Filter< T ></a>, <a class="el" href="classfv_1_1Count.html#afff1c16a8747a82db1cc1c8248c56a08">fv::Count< T ></a>, <a class="el" href="classfv_1_1Apply_3_01Ret_07ArgTypes_8_8_8_08_4.html#ab983f969ff7652150e7ce1d1240672e0">fv::Apply< Ret(ArgTypes...)></a>, <a class="el" href="classfv_1_1Tuple.html#a5cbf67ef6b68f1a18fb4b2b4e8b98c22">fv::Tuple< ArgTypes ></a>, <a class="el" href="classfv_1_1Tuple.html#a5cbf67ef6b68f1a18fb4b2b4e8b98c22">fv::Tuple< ArgTypes... ></a>, <a class="el" href="classfv_1_1TupFilter.html#a0d1078323dca5f712ee122b14bafd20b">fv::TupFilter< ArgTypes ></a>, <a class="el" href="classfv_1_1Map_3_01Ret_07ArgTypes_8_8_8_08_4.html#acd85576e1e4eb0eb4ef0d4947299478c">fv::Map< Ret(ArgTypes...)></a>, <a class="el" href="classfv_1_1Zip.html#abecba2b15aa8dccf72c0dff1f2304c8b">fv::Zip< ArgTypes ></a>, <a class="el" href="classfv_1_1Pair.html#ab3225f03f49240fc1547a5005f57b864">fv::Pair< T1, T2 ></a>, and <a class="el" href="classfv_1_1WrapperVector.html#a2ee99bc4425642d209df7b48ee2ada95">fv::WrapperVector< T ></a>.</p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>/home/caleb/Sources/TTTT/filval/<a class="el" href="value_8hpp_source.html">value.hpp</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.13
- </small></address>
- </body>
- </html>
|