xref: /freebsd/contrib/lutok/api-docs/html/a00066.html (revision 132f818ddbf457ee67d502cd89b5a18e0a34713d)
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">&#160;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&amp;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&amp;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&#160;</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> &amp;state, const char *symbol)</td></tr>
81<tr class="memdesc:a627b68d7ac220aba8661237b2ba4759b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a symbol is available.  <br /></td></tr>
82<tr class="separator:a627b68d7ac220aba8661237b2ba4759b"><td class="memSeparator" colspan="2">&#160;</td></tr>
83<tr class="memitem:a31884687c56b3a3f58f517cb9914a1f5"><td class="memItemLeft" align="right" valign="top">static void&#160;</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> &amp;state, const std::string &amp;expected)</td></tr>
84<tr class="memdesc:a31884687c56b3a3f58f517cb9914a1f5"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
86<tr class="memitem:a9d02f302ff9c6ea720b3be1fb3768aca"><td class="memItemLeft" align="right" valign="top">static int&#160;</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">&#160;</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">&#160;</td></tr>
89<tr class="memitem:a7ec33b7379b04bedb9bf6e8bcc018d5f"><td class="memItemLeft" align="right" valign="top">static int&#160;</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> &amp;state)</td></tr>
90<tr class="memdesc:a7ec33b7379b04bedb9bf6e8bcc018d5f"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
92<tr class="memitem:ae2375a17ea66d8f5a418e88c87b2c296"><td class="memItemLeft" align="right" valign="top">static int&#160;</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> &amp;state)</td></tr>
93<tr class="memdesc:ae2375a17ea66d8f5a418e88c87b2c296"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
95<tr class="memitem:ad70cc6d355abc7d6456692aaca7b0bb1"><td class="memItemLeft" align="right" valign="top">static int&#160;</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> &amp;state)</td></tr>
96<tr class="memdesc:ad70cc6d355abc7d6456692aaca7b0bb1"><td class="mdescLeft">&#160;</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">&#160;</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">&#9670;&#160;</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 *&#160;</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">&#9670;&#160;</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> &amp;&#160;</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 &amp;&#160;</td>
157          <td class="paramname"><em>expected</em>&#160;</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">&#9670;&#160;</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> &amp;&#160;</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">&#9670;&#160;</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> &amp;&#160;</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">&#9670;&#160;</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> &amp;&#160;</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 *&#160;</td>
288          <td class="paramname"><em>symbol</em>&#160;</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">&#9670;&#160;</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> &amp;&#160;</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&#160;<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