1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 3<head> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5<meta http-equiv="X-UA-Compatible" content="IE=11"/> 6<meta name="generator" content="Doxygen 1.9.6"/> 7<meta name="viewport" content="width=device-width, initial-scale=1"/> 8<title>Lutok: anonymous_namespace{state_test.cpp} Namespace 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 id="projectrow"> 23 <td id="projectalign"> 24 <div id="projectname">Lutok<span id="projectnumber"> 0.6.2</span> 25 </div> 26 </td> 27 </tr> 28 </tbody> 29</table> 30</div> 31<!-- end header part --> 32<!-- Generated by Doxygen 1.9.6 --> 33<script type="text/javascript"> 34/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ 35var searchBox = new SearchBox("searchBox", "search/",'.html'); 36/* @license-end */ 37</script> 38<script type="text/javascript" src="menudata.js"></script> 39<script type="text/javascript" src="menu.js"></script> 40<script type="text/javascript"> 41/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ 42$(function() { 43 initMenu('',true,false,'search.php','Search'); 44 $(document).ready(function() { init_search(); }); 45}); 46/* @license-end */ 47</script> 48<div id="main-nav"></div> 49<!-- window showing the filter options --> 50<div id="MSearchSelectWindow" 51 onmouseover="return searchBox.OnSearchSelectShow()" 52 onmouseout="return searchBox.OnSearchSelectHide()" 53 onkeydown="return searchBox.OnSearchSelectKey(event)"> 54</div> 55 56<!-- iframe showing the search results (closed by default) --> 57<div id="MSearchResultsWindow"> 58<div id="MSearchResults"> 59<div class="SRPage"> 60<div id="SRIndex"> 61<div id="SRResults"></div> 62<div class="SRStatus" id="Loading">Loading...</div> 63<div class="SRStatus" id="Searching">Searching...</div> 64<div class="SRStatus" id="NoMatches">No Matches</div> 65</div> 66</div> 67</div> 68</div> 69 70</div><!-- top --> 71<div class="header"> 72 <div class="summary"> 73<a href="#func-members">Functions</a> </div> 74 <div class="headertitle"><div class="title">anonymous_namespace{state_test.cpp} Namespace Reference</div></div> 75</div><!--header--> 76<div class="contents"> 77<table class="memberdecls"> 78<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> 79Functions</h2></td></tr> 80<tr class="memitem:a627b68d7ac220aba8661237b2ba4759b"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a627b68d7ac220aba8661237b2ba4759b">is_available</a> (<a class="el" href="a00919.html">lutok::state</a> &state, const char *symbol)</td></tr> 81<tr class="memdesc:a627b68d7ac220aba8661237b2ba4759b"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a symbol is available. <br /></td></tr> 82<tr class="separator:a627b68d7ac220aba8661237b2ba4759b"><td class="memSeparator" colspan="2"> </td></tr> 83<tr class="memitem:a31884687c56b3a3f58f517cb9914a1f5"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a31884687c56b3a3f58f517cb9914a1f5">check_modules</a> (<a class="el" href="a00919.html">lutok::state</a> &state, const std::string &expected)</td></tr> 84<tr class="memdesc:a31884687c56b3a3f58f517cb9914a1f5"><td class="mdescLeft"> </td><td class="mdescRight">Checks that no modules are present or that only one has been loaded. <br /></td></tr> 85<tr class="separator:a31884687c56b3a3f58f517cb9914a1f5"><td class="memSeparator" colspan="2"> </td></tr> 86<tr class="memitem:a9d02f302ff9c6ea720b3be1fb3768aca"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a9d02f302ff9c6ea720b3be1fb3768aca">c_get_upvalues</a> (lua_State *raw_state)</td></tr> 87<tr class="memdesc:a9d02f302ff9c6ea720b3be1fb3768aca"><td class="mdescLeft"> </td><td class="mdescRight">A C closure that returns its two integral upvalues. <br /></td></tr> 88<tr class="separator:a9d02f302ff9c6ea720b3be1fb3768aca"><td class="memSeparator" colspan="2"> </td></tr> 89<tr class="memitem:a7ec33b7379b04bedb9bf6e8bcc018d5f"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a7ec33b7379b04bedb9bf6e8bcc018d5f">cxx_multiply_closure</a> (<a class="el" href="a00919.html">lutok::state</a> &state)</td></tr> 90<tr class="memdesc:a7ec33b7379b04bedb9bf6e8bcc018d5f"><td class="mdescLeft"> </td><td class="mdescRight">A custom C++ multiply function with one of its factors on its closure. <br /></td></tr> 91<tr class="separator:a7ec33b7379b04bedb9bf6e8bcc018d5f"><td class="memSeparator" colspan="2"> </td></tr> 92<tr class="memitem:ae2375a17ea66d8f5a418e88c87b2c296"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#ae2375a17ea66d8f5a418e88c87b2c296">cxx_divide</a> (<a class="el" href="a00919.html">lutok::state</a> &state)</td></tr> 93<tr class="memdesc:ae2375a17ea66d8f5a418e88c87b2c296"><td class="mdescLeft"> </td><td class="mdescRight">A custom C++ integral division function for Lua. <br /></td></tr> 94<tr class="separator:ae2375a17ea66d8f5a418e88c87b2c296"><td class="memSeparator" colspan="2"> </td></tr> 95<tr class="memitem:ad70cc6d355abc7d6456692aaca7b0bb1"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#ad70cc6d355abc7d6456692aaca7b0bb1">raise_long_error</a> (<a class="el" href="a00919.html">lutok::state</a> &state)</td></tr> 96<tr class="memdesc:ad70cc6d355abc7d6456692aaca7b0bb1"><td class="mdescLeft"> </td><td class="mdescRight">A Lua function that raises a very long error message. <br /></td></tr> 97<tr class="separator:ad70cc6d355abc7d6456692aaca7b0bb1"><td class="memSeparator" colspan="2"> </td></tr> 98</table> 99<h2 class="groupheader">Function Documentation</h2> 100<a id="a9d02f302ff9c6ea720b3be1fb3768aca" name="a9d02f302ff9c6ea720b3be1fb3768aca"></a> 101<h2 class="memtitle"><span class="permalink"><a href="#a9d02f302ff9c6ea720b3be1fb3768aca">◆ </a></span>c_get_upvalues()</h2> 102 103<div class="memitem"> 104<div class="memproto"> 105<table class="mlabels"> 106 <tr> 107 <td class="mlabels-left"> 108 <table class="memname"> 109 <tr> 110 <td class="memname">static int anonymous_namespace{state_test.cpp}::c_get_upvalues </td> 111 <td>(</td> 112 <td class="paramtype">lua_State * </td> 113 <td class="paramname"><em>raw_state</em></td><td>)</td> 114 <td></td> 115 </tr> 116 </table> 117 </td> 118 <td class="mlabels-right"> 119<span class="mlabels"><span class="mlabel">static</span></span> </td> 120 </tr> 121</table> 122</div><div class="memdoc"> 123 124<p>A C closure that returns its two integral upvalues. </p> 125<dl class="section post"><dt>Postcondition</dt><dd>stack(-2) contains the first upvalue. </dd> 126<dd> 127stack(-1) contains the second upvalue.</dd></dl> 128<dl class="params"><dt>Parameters</dt><dd> 129 <table class="params"> 130 <tr><td class="paramname">raw_state</td><td>The raw Lua state.</td></tr> 131 </table> 132 </dd> 133</dl> 134<dl class="section return"><dt>Returns</dt><dd>The number of result values, i.e. 2. </dd></dl> 135 136</div> 137</div> 138<a id="a31884687c56b3a3f58f517cb9914a1f5" name="a31884687c56b3a3f58f517cb9914a1f5"></a> 139<h2 class="memtitle"><span class="permalink"><a href="#a31884687c56b3a3f58f517cb9914a1f5">◆ </a></span>check_modules()</h2> 140 141<div class="memitem"> 142<div class="memproto"> 143<table class="mlabels"> 144 <tr> 145 <td class="mlabels-left"> 146 <table class="memname"> 147 <tr> 148 <td class="memname">static void anonymous_namespace{state_test.cpp}::check_modules </td> 149 <td>(</td> 150 <td class="paramtype"><a class="el" href="a00919.html">lutok::state</a> & </td> 151 <td class="paramname"><em>state</em>, </td> 152 </tr> 153 <tr> 154 <td class="paramkey"></td> 155 <td></td> 156 <td class="paramtype">const std::string & </td> 157 <td class="paramname"><em>expected</em> </td> 158 </tr> 159 <tr> 160 <td></td> 161 <td>)</td> 162 <td></td><td></td> 163 </tr> 164 </table> 165 </td> 166 <td class="mlabels-right"> 167<span class="mlabels"><span class="mlabel">static</span></span> </td> 168 </tr> 169</table> 170</div><div class="memdoc"> 171 172<p>Checks that no modules are present or that only one has been loaded. </p> 173<dl class="section post"><dt>Postcondition</dt><dd>The test case terminates if there is any module present when expected is empty or if there two modules loaded when expected is defined.</dd></dl> 174<dl class="params"><dt>Parameters</dt><dd> 175 <table class="params"> 176 <tr><td class="paramname">state</td><td>The Lua state. </td></tr> 177 <tr><td class="paramname">expected</td><td>The module to expect. Empty if no modules are allowed. </td></tr> 178 </table> 179 </dd> 180</dl> 181 182</div> 183</div> 184<a id="ae2375a17ea66d8f5a418e88c87b2c296" name="ae2375a17ea66d8f5a418e88c87b2c296"></a> 185<h2 class="memtitle"><span class="permalink"><a href="#ae2375a17ea66d8f5a418e88c87b2c296">◆ </a></span>cxx_divide()</h2> 186 187<div class="memitem"> 188<div class="memproto"> 189<table class="mlabels"> 190 <tr> 191 <td class="mlabels-left"> 192 <table class="memname"> 193 <tr> 194 <td class="memname">static int anonymous_namespace{state_test.cpp}::cxx_divide </td> 195 <td>(</td> 196 <td class="paramtype"><a class="el" href="a00919.html">lutok::state</a> & </td> 197 <td class="paramname"><em>state</em></td><td>)</td> 198 <td></td> 199 </tr> 200 </table> 201 </td> 202 <td class="mlabels-right"> 203<span class="mlabels"><span class="mlabel">static</span></span> </td> 204 </tr> 205</table> 206</div><div class="memdoc"> 207 208<p>A custom C++ integral division function for Lua. </p> 209<dl class="section pre"><dt>Precondition</dt><dd>stack(-2) contains the dividend. </dd> 210<dd> 211stack(-1) contains the divisor. </dd></dl> 212<dl class="section post"><dt>Postcondition</dt><dd>stack(-2) contains the quotient of the division. </dd> 213<dd> 214stack(-1) contains the remainder of the division.</dd></dl> 215<dl class="params"><dt>Parameters</dt><dd> 216 <table class="params"> 217 <tr><td class="paramname">state</td><td>The Lua state.</td></tr> 218 </table> 219 </dd> 220</dl> 221<dl class="section return"><dt>Returns</dt><dd>The number of result values, i.e. 1.</dd></dl> 222<dl class="exception"><dt>Exceptions</dt><dd> 223 <table class="exception"> 224 <tr><td class="paramname">std::runtime_error</td><td>If the divisor is zero. </td></tr> 225 <tr><td class="paramname">std::string</td><td>If the dividend or the divisor are negative. This is an exception not derived from std::exception on purpose to ensure that the C++ wrapping correctly captures any exception regardless of its type. </td></tr> 226 </table> 227 </dd> 228</dl> 229 230</div> 231</div> 232<a id="a7ec33b7379b04bedb9bf6e8bcc018d5f" name="a7ec33b7379b04bedb9bf6e8bcc018d5f"></a> 233<h2 class="memtitle"><span class="permalink"><a href="#a7ec33b7379b04bedb9bf6e8bcc018d5f">◆ </a></span>cxx_multiply_closure()</h2> 234 235<div class="memitem"> 236<div class="memproto"> 237<table class="mlabels"> 238 <tr> 239 <td class="mlabels-left"> 240 <table class="memname"> 241 <tr> 242 <td class="memname">static int anonymous_namespace{state_test.cpp}::cxx_multiply_closure </td> 243 <td>(</td> 244 <td class="paramtype"><a class="el" href="a00919.html">lutok::state</a> & </td> 245 <td class="paramname"><em>state</em></td><td>)</td> 246 <td></td> 247 </tr> 248 </table> 249 </td> 250 <td class="mlabels-right"> 251<span class="mlabels"><span class="mlabel">static</span></span> </td> 252 </tr> 253</table> 254</div><div class="memdoc"> 255 256<p>A custom C++ multiply function with one of its factors on its closure. </p> 257<dl class="section pre"><dt>Precondition</dt><dd>stack(-1) contains the second factor. </dd></dl> 258<dl class="section post"><dt>Postcondition</dt><dd>stack(-1) contains the product of the two input factors.</dd></dl> 259<dl class="params"><dt>Parameters</dt><dd> 260 <table class="params"> 261 <tr><td class="paramname">state</td><td>The Lua state.</td></tr> 262 </table> 263 </dd> 264</dl> 265<dl class="section return"><dt>Returns</dt><dd>The number of result values, i.e. 1. </dd></dl> 266 267</div> 268</div> 269<a id="a627b68d7ac220aba8661237b2ba4759b" name="a627b68d7ac220aba8661237b2ba4759b"></a> 270<h2 class="memtitle"><span class="permalink"><a href="#a627b68d7ac220aba8661237b2ba4759b">◆ </a></span>is_available()</h2> 271 272<div class="memitem"> 273<div class="memproto"> 274<table class="mlabels"> 275 <tr> 276 <td class="mlabels-left"> 277 <table class="memname"> 278 <tr> 279 <td class="memname">static bool anonymous_namespace{state_test.cpp}::is_available </td> 280 <td>(</td> 281 <td class="paramtype"><a class="el" href="a00919.html">lutok::state</a> & </td> 282 <td class="paramname"><em>state</em>, </td> 283 </tr> 284 <tr> 285 <td class="paramkey"></td> 286 <td></td> 287 <td class="paramtype">const char * </td> 288 <td class="paramname"><em>symbol</em> </td> 289 </tr> 290 <tr> 291 <td></td> 292 <td>)</td> 293 <td></td><td></td> 294 </tr> 295 </table> 296 </td> 297 <td class="mlabels-right"> 298<span class="mlabels"><span class="mlabel">static</span></span> </td> 299 </tr> 300</table> 301</div><div class="memdoc"> 302 303<p>Checks if a symbol is available. </p> 304<dl class="params"><dt>Parameters</dt><dd> 305 <table class="params"> 306 <tr><td class="paramname">state</td><td>The Lua state. </td></tr> 307 <tr><td class="paramname">symbol</td><td>The symbol to check for.</td></tr> 308 </table> 309 </dd> 310</dl> 311<dl class="section return"><dt>Returns</dt><dd>True if the symbol is defined, false otherwise. </dd></dl> 312 313</div> 314</div> 315<a id="ad70cc6d355abc7d6456692aaca7b0bb1" name="ad70cc6d355abc7d6456692aaca7b0bb1"></a> 316<h2 class="memtitle"><span class="permalink"><a href="#ad70cc6d355abc7d6456692aaca7b0bb1">◆ </a></span>raise_long_error()</h2> 317 318<div class="memitem"> 319<div class="memproto"> 320<table class="mlabels"> 321 <tr> 322 <td class="mlabels-left"> 323 <table class="memname"> 324 <tr> 325 <td class="memname">static int anonymous_namespace{state_test.cpp}::raise_long_error </td> 326 <td>(</td> 327 <td class="paramtype"><a class="el" href="a00919.html">lutok::state</a> & </td> 328 <td class="paramname"><em>state</em></td><td>)</td> 329 <td></td> 330 </tr> 331 </table> 332 </td> 333 <td class="mlabels-right"> 334<span class="mlabels"><span class="mlabel">static</span></span> </td> 335 </tr> 336</table> 337</div><div class="memdoc"> 338 339<p>A Lua function that raises a very long error message. </p> 340<dl class="section pre"><dt>Precondition</dt><dd>stack(-1) contains the length of the message to construct.</dd></dl> 341<dl class="params"><dt>Parameters</dt><dd> 342 <table class="params"> 343 <tr><td class="paramname">state</td><td>The Lua state.</td></tr> 344 </table> 345 </dd> 346</dl> 347<dl class="section return"><dt>Returns</dt><dd>Never returns.</dd></dl> 348<dl class="exception"><dt>Exceptions</dt><dd> 349 <table class="exception"> 350 <tr><td class="paramname">std::runtime_error</td><td>Unconditionally, with an error message formed by the repetition of 'A' as many times as requested. </td></tr> 351 </table> 352 </dd> 353</dl> 354 355</div> 356</div> 357</div><!-- contents --> 358<!-- start footer part --> 359<hr class="footer"/><address class="footer"><small> 360Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6 361</small></address> 362</body> 363</html> 364