123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- <!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::Function< R(ArgTypes...)> 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_1Function_3_01R_07ArgTypes_8_8_8_08_4.html">Function< R(ArgTypes...)></a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pri-attribs">Private Attributes</a> |
- <a href="classfv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4-members.html">List of all members</a> </div>
- <div class="headertitle">
- <div class="title">fv::Function< R(ArgTypes...)> Class Template Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>In order to enable proper provenance tracking, and at the same time keep the ability to embed functions into values, the Function class should be used.
- <a href="classfv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4.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::Function< R(ArgTypes...)>:</div>
- <div class="dyncontent">
- <div class="center"><img src="classfv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4__inherit__graph.png" border="0" usemap="#fv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4_inherit__map" alt="Inheritance graph"/></div>
- <map name="fv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4_inherit__map" id="fv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4_inherit__map">
- <area shape="rect" id="node2" href="classfv_1_1GenFunction.html" title="Parent class to all Function classes. " alt="" coords="50,5,173,32"/>
- </map>
- <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
- <div class="dynheader">
- Collaboration diagram for fv::Function< R(ArgTypes...)>:</div>
- <div class="dyncontent">
- <div class="center"><img src="classfv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4__coll__graph.png" border="0" usemap="#fv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4_coll__map" alt="Collaboration graph"/></div>
- <map name="fv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4_coll__map" id="fv_1_1Function_3_01R_07ArgTypes_8_8_8_08_4_coll__map">
- <area shape="rect" id="node2" href="classfv_1_1GenFunction.html" title="Parent class to all Function classes. " alt="" coords="50,5,173,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:ad817eb370743cd056b4551d9a2c43b84"><td class="memItemLeft" align="right" valign="top"><a id="ad817eb370743cd056b4551d9a2c43b84"></a>
-  </td><td class="memItemRight" valign="bottom"><b>Function</b> (const std::string &name, const std::string &impl, std::function< R(ArgTypes...)> f)</td></tr>
- <tr class="separator:ad817eb370743cd056b4551d9a2c43b84"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa399197dc7e4aabd0f58da4b0d7af159"><td class="memItemLeft" align="right" valign="top"><a id="aa399197dc7e4aabd0f58da4b0d7af159"></a>
-  </td><td class="memItemRight" valign="bottom"><b>Function</b> (const std::string &name, std::function< R(ArgTypes...)> f)</td></tr>
- <tr class="separator:aa399197dc7e4aabd0f58da4b0d7af159"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a469f0f13b73bd497489272117e0a7968"><td class="memItemLeft" align="right" valign="top"><a id="a469f0f13b73bd497489272117e0a7968"></a>
- R </td><td class="memItemRight" valign="bottom"><b>operator()</b> (ArgTypes ...args)</td></tr>
- <tr class="separator:a469f0f13b73bd497489272117e0a7968"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classfv_1_1GenFunction"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classfv_1_1GenFunction')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classfv_1_1GenFunction.html">fv::GenFunction</a></td></tr>
- <tr class="memitem:a1a4622c277f0a4645cc597ac7e8ffad3 inherit pub_methods_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top"><a id="a1a4622c277f0a4645cc597ac7e8ffad3"></a>
-  </td><td class="memItemRight" valign="bottom"><b>GenFunction</b> (const std::string &name, const std::string &impl)</td></tr>
- <tr class="separator:a1a4622c277f0a4645cc597ac7e8ffad3 inherit pub_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac821bad86421d773af1ba36f67174eb1 inherit pub_methods_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top"><a id="ac821bad86421d773af1ba36f67174eb1"></a>
- std::string & </td><td class="memItemRight" valign="bottom"><b>get_name</b> ()</td></tr>
- <tr class="separator:ac821bad86421d773af1ba36f67174eb1 inherit pub_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a11d3571bfc71bb231082617334fd0301 inherit pub_methods_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top"><a id="a11d3571bfc71bb231082617334fd0301"></a>
- std::string & </td><td class="memItemRight" valign="bottom"><b>get_impl</b> ()</td></tr>
- <tr class="separator:a11d3571bfc71bb231082617334fd0301 inherit pub_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
- Private Attributes</h2></td></tr>
- <tr class="memitem:a7c512b1f9098f11b878ed0cf7f3d0c70"><td class="memItemLeft" align="right" valign="top"><a id="a7c512b1f9098f11b878ed0cf7f3d0c70"></a>
- std::function< R(ArgTypes...)> </td><td class="memItemRight" valign="bottom"><b>f</b></td></tr>
- <tr class="separator:a7c512b1f9098f11b878ed0cf7f3d0c70"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
- Additional Inherited Members</h2></td></tr>
- <tr class="inherit_header pub_static_methods_classfv_1_1GenFunction"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classfv_1_1GenFunction')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classfv_1_1GenFunction.html">fv::GenFunction</a></td></tr>
- <tr class="memitem:aecc1187b5bb9c551c104eb8478bdb567 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top">static std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classfv_1_1GenFunction.html#aecc1187b5bb9c551c104eb8478bdb567">format_code</a> (const std::string &code)</td></tr>
- <tr class="memdesc:aecc1187b5bb9c551c104eb8478bdb567 inherit pub_static_methods_classfv_1_1GenFunction"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to invoke clang-format for the purpose of printing out nicely formatted functions to the log file. <a href="classfv_1_1GenFunction.html#aecc1187b5bb9c551c104eb8478bdb567">More...</a><br /></td></tr>
- <tr class="separator:aecc1187b5bb9c551c104eb8478bdb567 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1882aa29a5de803a366ed1e87770a4e2 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top"><a id="a1882aa29a5de803a366ed1e87770a4e2"></a>
- static std::string </td><td class="memItemRight" valign="bottom"><b>summary</b> ()</td></tr>
- <tr class="separator:a1882aa29a5de803a366ed1e87770a4e2 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2635f33d1ef39f00c07bde754c98cc6f inherit pub_static_methods_classfv_1_1GenFunction"><td class="memTemplParams" colspan="2"><a id="a2635f33d1ef39f00c07bde754c98cc6f"></a>
- template<typename T > </td></tr>
- <tr class="memitem:a2635f33d1ef39f00c07bde754c98cc6f inherit pub_static_methods_classfv_1_1GenFunction"><td class="memTemplItemLeft" align="right" valign="top">static Function< T > & </td><td class="memTemplItemRight" valign="bottom"><b>register_function</b> (const std::string &name, std::function< T > f, const std::string &impl)</td></tr>
- <tr class="separator:a2635f33d1ef39f00c07bde754c98cc6f inherit pub_static_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad2ff572dc8ba3059f2679cb450b719d3 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memTemplParams" colspan="2"><a id="ad2ff572dc8ba3059f2679cb450b719d3"></a>
- template<typename T > </td></tr>
- <tr class="memitem:ad2ff572dc8ba3059f2679cb450b719d3 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memTemplItemLeft" align="right" valign="top">static Function< T > & </td><td class="memTemplItemRight" valign="bottom"><b>lookup_function</b> (const std::string &name)</td></tr>
- <tr class="separator:ad2ff572dc8ba3059f2679cb450b719d3 inherit pub_static_methods_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_static_attribs_classfv_1_1GenFunction"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classfv_1_1GenFunction')"><img src="closed.png" alt="-"/> Static Public Attributes inherited from <a class="el" href="classfv_1_1GenFunction.html">fv::GenFunction</a></td></tr>
- <tr class="memitem:a62f52779bd4aa60fefbd842f557b1f7d inherit pub_static_attribs_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top"><a id="a62f52779bd4aa60fefbd842f557b1f7d"></a>
- static std::map< const std::string, <a class="el" href="classfv_1_1GenFunction.html">GenFunction</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfv_1_1GenFunction.html#a62f52779bd4aa60fefbd842f557b1f7d">function_registry</a></td></tr>
- <tr class="memdesc:a62f52779bd4aa60fefbd842f557b1f7d inherit pub_static_attribs_classfv_1_1GenFunction"><td class="mdescLeft"> </td><td class="mdescRight">Static mapping of functions from their name to the object wrapper of the function. <br /></td></tr>
- <tr class="separator:a62f52779bd4aa60fefbd842f557b1f7d inherit pub_static_attribs_classfv_1_1GenFunction"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_static_attribs_classfv_1_1GenFunction"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classfv_1_1GenFunction')"><img src="closed.png" alt="-"/> Static Protected Attributes inherited from <a class="el" href="classfv_1_1GenFunction.html">fv::GenFunction</a></td></tr>
- <tr class="memitem:a8d8c682bb591126b6396eaf78dbf3157 inherit pro_static_attribs_classfv_1_1GenFunction"><td class="memItemLeft" align="right" valign="top"><a id="a8d8c682bb591126b6396eaf78dbf3157"></a>
- static bool </td><td class="memItemRight" valign="bottom"><b>in_register_function</b> =false</td></tr>
- <tr class="separator:a8d8c682bb591126b6396eaf78dbf3157 inherit pro_static_attribs_classfv_1_1GenFunction"><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 R, typename... ArgTypes><br />
- class fv::Function< R(ArgTypes...)></h3>
- <p>In order to enable proper provenance tracking, and at the same time keep the ability to embed functions into values, the Function class should be used. </p>
- <p>It is simply a wrapper around a std::function that also has a name. This name is used when generating the name of values that use the function. A function name is automatically prepended with "func::" to explicitly state that the value is the result of a computation encoded within the function object, and not from some other <a class="el" href="classfv_1_1Value.html" title="A generic value. ">Value</a> object. Unfortunately, it is up to the user to find where that function is defined in the source code to inspect what it is doing. But hopefully this isn't too onerous by just using grep. </p>
- </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>
|