xref: /freebsd/contrib/lutok/api-docs/html/a00919.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: lutok::state Class 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 id="nav-path" class="navpath">
71  <ul>
72<li class="navelem"><b>lutok</b></li><li class="navelem"><a class="el" href="a00919.html">state</a></li>  </ul>
73</div>
74</div><!-- top -->
75<div class="header">
76  <div class="summary">
77<a href="#nested-classes">Classes</a> &#124;
78<a href="#pub-methods">Public Member Functions</a> &#124;
79<a href="#pri-methods">Private Member Functions</a> &#124;
80<a href="#pri-attribs">Private Attributes</a> &#124;
81<a href="#friends">Friends</a> &#124;
82<a href="a00916.html">List of all members</a>  </div>
83  <div class="headertitle"><div class="title">lutok::state Class Reference</div></div>
84</div><!--header-->
85<div class="contents">
86
87<p>A RAII model for the Lua state.
88 <a href="a00919.html#details">More...</a></p>
89
90<p><code>#include &lt;<a class="el" href="a00029_source.html">state.hpp</a>&gt;</code></p>
91<table class="memberdecls">
92<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
93Classes</h2></td></tr>
94<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00915.html">impl</a></td></tr>
95<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal implementation for <a class="el" href="a00919.html" title="A RAII model for the Lua state.">lutok::state</a>.  <a href="a00915.html#details">More...</a><br /></td></tr>
96<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
97</table><table class="memberdecls">
98<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
99Public Member Functions</h2></td></tr>
100<tr class="memitem:ae952d08c75d4d07eef07fc00a608c4b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ae952d08c75d4d07eef07fc00a608c4b4">state</a> (void)</td></tr>
101<tr class="memdesc:ae952d08c75d4d07eef07fc00a608c4b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the Lua state.  <br /></td></tr>
102<tr class="separator:ae952d08c75d4d07eef07fc00a608c4b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
103<tr class="memitem:a2b163a6db54c80d3ad1d8d324e7e7fe1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a2b163a6db54c80d3ad1d8d324e7e7fe1">~state</a> (void)</td></tr>
104<tr class="memdesc:a2b163a6db54c80d3ad1d8d324e7e7fe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor for the Lua state.  <br /></td></tr>
105<tr class="separator:a2b163a6db54c80d3ad1d8d324e7e7fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
106<tr class="memitem:a16c2f95e91f64c5ac89258ee5dcd34e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a16c2f95e91f64c5ac89258ee5dcd34e2">close</a> (void)</td></tr>
107<tr class="memdesc:a16c2f95e91f64c5ac89258ee5dcd34e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates this Lua session.  <br /></td></tr>
108<tr class="separator:a16c2f95e91f64c5ac89258ee5dcd34e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
109<tr class="memitem:a0291a3b34c5bed860d8d53e54eaee349"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a0291a3b34c5bed860d8d53e54eaee349">get_global</a> (const std::string &amp;)</td></tr>
110<tr class="memdesc:a0291a3b34c5bed860d8d53e54eaee349"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_getglobal.  <br /></td></tr>
111<tr class="separator:a0291a3b34c5bed860d8d53e54eaee349"><td class="memSeparator" colspan="2">&#160;</td></tr>
112<tr class="memitem:a2287f1dd03e6a72837ab020512927ee6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a2287f1dd03e6a72837ab020512927ee6">get_global_table</a> (void)</td></tr>
113<tr class="memdesc:a2287f1dd03e6a72837ab020512927ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pushes a reference to the global table onto the stack.  <br /></td></tr>
114<tr class="separator:a2287f1dd03e6a72837ab020512927ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:a0d4f5204547cac3e4855e375f6bc64cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a0d4f5204547cac3e4855e375f6bc64cb">get_metafield</a> (const int, const std::string &amp;)</td></tr>
116<tr class="memdesc:a0d4f5204547cac3e4855e375f6bc64cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaL_getmetafield.  <br /></td></tr>
117<tr class="separator:a0d4f5204547cac3e4855e375f6bc64cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
118<tr class="memitem:abbbafa23bb49ccc04e0f32f47b629ae5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#abbbafa23bb49ccc04e0f32f47b629ae5">get_metatable</a> (const int)</td></tr>
119<tr class="memdesc:abbbafa23bb49ccc04e0f32f47b629ae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_getmetatable.  <br /></td></tr>
120<tr class="separator:abbbafa23bb49ccc04e0f32f47b629ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a8865c4d7ee8a5d9f9ffeff22b8819648"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a8865c4d7ee8a5d9f9ffeff22b8819648">get_table</a> (const int)</td></tr>
122<tr class="memdesc:a8865c4d7ee8a5d9f9ffeff22b8819648"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_gettable.  <br /></td></tr>
123<tr class="separator:a8865c4d7ee8a5d9f9ffeff22b8819648"><td class="memSeparator" colspan="2">&#160;</td></tr>
124<tr class="memitem:af8591bfdccb2e8732c147a8a6623b2e5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#af8591bfdccb2e8732c147a8a6623b2e5">get_top</a> (void)</td></tr>
125<tr class="memdesc:af8591bfdccb2e8732c147a8a6623b2e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_gettop.  <br /></td></tr>
126<tr class="separator:af8591bfdccb2e8732c147a8a6623b2e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:a69d7e97f6140c24382fbfd05aa16ad72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a69d7e97f6140c24382fbfd05aa16ad72">insert</a> (const int)</td></tr>
128<tr class="memdesc:a69d7e97f6140c24382fbfd05aa16ad72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_insert.  <br /></td></tr>
129<tr class="separator:a69d7e97f6140c24382fbfd05aa16ad72"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:a4efb903445d053766fe54800d36d4deb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a4efb903445d053766fe54800d36d4deb">is_boolean</a> (const int)</td></tr>
131<tr class="memdesc:a4efb903445d053766fe54800d36d4deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_isboolean.  <br /></td></tr>
132<tr class="separator:a4efb903445d053766fe54800d36d4deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:ab454ca52fec8413fde1d46df003c19c0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ab454ca52fec8413fde1d46df003c19c0">is_function</a> (const int)</td></tr>
134<tr class="memdesc:ab454ca52fec8413fde1d46df003c19c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_isfunction.  <br /></td></tr>
135<tr class="separator:ab454ca52fec8413fde1d46df003c19c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:a21c5f4f63cf89db0f16dd032f0612a78"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a21c5f4f63cf89db0f16dd032f0612a78">is_nil</a> (const int)</td></tr>
137<tr class="memdesc:a21c5f4f63cf89db0f16dd032f0612a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_isnil.  <br /></td></tr>
138<tr class="separator:a21c5f4f63cf89db0f16dd032f0612a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:acd31e0953ee71c94903e5444bf451eb1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#acd31e0953ee71c94903e5444bf451eb1">is_number</a> (const int)</td></tr>
140<tr class="memdesc:acd31e0953ee71c94903e5444bf451eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_isnumber.  <br /></td></tr>
141<tr class="separator:acd31e0953ee71c94903e5444bf451eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="memitem:af82c354bbcedaa5f7b2f8b8e6f6c69b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#af82c354bbcedaa5f7b2f8b8e6f6c69b5">is_string</a> (const int)</td></tr>
143<tr class="memdesc:af82c354bbcedaa5f7b2f8b8e6f6c69b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_isstring.  <br /></td></tr>
144<tr class="separator:af82c354bbcedaa5f7b2f8b8e6f6c69b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:a468113870c8129430cbd773f5abb85fa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a468113870c8129430cbd773f5abb85fa">is_table</a> (const int)</td></tr>
146<tr class="memdesc:a468113870c8129430cbd773f5abb85fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_istable.  <br /></td></tr>
147<tr class="separator:a468113870c8129430cbd773f5abb85fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<tr class="memitem:adea141de47b0e6895e8ee9afe5c82a0e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#adea141de47b0e6895e8ee9afe5c82a0e">is_userdata</a> (const int)</td></tr>
149<tr class="memdesc:adea141de47b0e6895e8ee9afe5c82a0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_isuserdata.  <br /></td></tr>
150<tr class="separator:adea141de47b0e6895e8ee9afe5c82a0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:a493b3192ade9e2f32940b96fa9ef461b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a493b3192ade9e2f32940b96fa9ef461b">load_file</a> (const std::string &amp;)</td></tr>
152<tr class="memdesc:a493b3192ade9e2f32940b96fa9ef461b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaL_loadfile.  <br /></td></tr>
153<tr class="separator:a493b3192ade9e2f32940b96fa9ef461b"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<tr class="memitem:a5ff9ef96d82c9cc497a8dfc1404a1c82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a5ff9ef96d82c9cc497a8dfc1404a1c82">load_string</a> (const std::string &amp;)</td></tr>
155<tr class="memdesc:a5ff9ef96d82c9cc497a8dfc1404a1c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaL_loadstring.  <br /></td></tr>
156<tr class="separator:a5ff9ef96d82c9cc497a8dfc1404a1c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:a50d389a2c6d23214eda1e46e15ed20b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a50d389a2c6d23214eda1e46e15ed20b5">new_table</a> (void)</td></tr>
158<tr class="memdesc:a50d389a2c6d23214eda1e46e15ed20b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_newtable.  <br /></td></tr>
159<tr class="separator:a50d389a2c6d23214eda1e46e15ed20b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
160<tr class="memitem:aaec7e57d4434f087cef8d38a221ae474"><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
161<tr class="memitem:aaec7e57d4434f087cef8d38a221ae474"><td class="memTemplItemLeft" align="right" valign="top">Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00919.html#aaec7e57d4434f087cef8d38a221ae474">new_userdata</a> (void)</td></tr>
162<tr class="memdesc:aaec7e57d4434f087cef8d38a221ae474"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_newuserdata.  <br /></td></tr>
163<tr class="separator:aaec7e57d4434f087cef8d38a221ae474"><td class="memSeparator" colspan="2">&#160;</td></tr>
164<tr class="memitem:abbbcf3c19d7d29594ea2e61ece52b815"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#abbbcf3c19d7d29594ea2e61ece52b815">next</a> (const int)</td></tr>
165<tr class="memdesc:abbbcf3c19d7d29594ea2e61ece52b815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_next.  <br /></td></tr>
166<tr class="separator:abbbcf3c19d7d29594ea2e61ece52b815"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:a940ebd0fb37259360a63b7a669d8ca99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a940ebd0fb37259360a63b7a669d8ca99">open_all</a> (void)</td></tr>
168<tr class="memdesc:a940ebd0fb37259360a63b7a669d8ca99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaL_openlibs.  <br /></td></tr>
169<tr class="separator:a940ebd0fb37259360a63b7a669d8ca99"><td class="memSeparator" colspan="2">&#160;</td></tr>
170<tr class="memitem:abf68c04d96308868fec71a628741c712"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#abf68c04d96308868fec71a628741c712">open_base</a> (void)</td></tr>
171<tr class="memdesc:abf68c04d96308868fec71a628741c712"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaopen_base.  <br /></td></tr>
172<tr class="separator:abf68c04d96308868fec71a628741c712"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:a85db3b50e195e6ab7e81f9f51205d8c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a85db3b50e195e6ab7e81f9f51205d8c0">open_string</a> (void)</td></tr>
174<tr class="memdesc:a85db3b50e195e6ab7e81f9f51205d8c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaopen_string.  <br /></td></tr>
175<tr class="separator:a85db3b50e195e6ab7e81f9f51205d8c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<tr class="memitem:a8898b62799b3b8a70a2b6a049e531515"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a8898b62799b3b8a70a2b6a049e531515">open_table</a> (void)</td></tr>
177<tr class="memdesc:a8898b62799b3b8a70a2b6a049e531515"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around luaopen_table.  <br /></td></tr>
178<tr class="separator:a8898b62799b3b8a70a2b6a049e531515"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:a307897e3501a5b5b08eb66f35f4d18df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a307897e3501a5b5b08eb66f35f4d18df">pcall</a> (const int, const int, const int)</td></tr>
180<tr class="memdesc:a307897e3501a5b5b08eb66f35f4d18df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pcall.  <br /></td></tr>
181<tr class="separator:a307897e3501a5b5b08eb66f35f4d18df"><td class="memSeparator" colspan="2">&#160;</td></tr>
182<tr class="memitem:ac07258b143ef607dd9f6a9e24e495c20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ac07258b143ef607dd9f6a9e24e495c20">pop</a> (const int)</td></tr>
183<tr class="memdesc:ac07258b143ef607dd9f6a9e24e495c20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pop.  <br /></td></tr>
184<tr class="separator:ac07258b143ef607dd9f6a9e24e495c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:a11e9a3235154ebf867298935f1f58ca5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a11e9a3235154ebf867298935f1f58ca5">push_boolean</a> (const bool)</td></tr>
186<tr class="memdesc:a11e9a3235154ebf867298935f1f58ca5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushboolean.  <br /></td></tr>
187<tr class="separator:a11e9a3235154ebf867298935f1f58ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
188<tr class="memitem:a0e5b1b04d7bdf606a7b013b83de433d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a0e5b1b04d7bdf606a7b013b83de433d1">push_cxx_closure</a> (<a class="el" href="a00029.html#a8c623ca426c30c5fab4df2cb21635f17">cxx_function</a>, const int)</td></tr>
189<tr class="memdesc:a0e5b1b04d7bdf606a7b013b83de433d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushcclosure.  <br /></td></tr>
190<tr class="separator:a0e5b1b04d7bdf606a7b013b83de433d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:ae894e01dd1ff748aaf3f1a657363fe02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ae894e01dd1ff748aaf3f1a657363fe02">push_cxx_function</a> (<a class="el" href="a00029.html#a8c623ca426c30c5fab4df2cb21635f17">cxx_function</a>)</td></tr>
192<tr class="memdesc:ae894e01dd1ff748aaf3f1a657363fe02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushcfunction.  <br /></td></tr>
193<tr class="separator:ae894e01dd1ff748aaf3f1a657363fe02"><td class="memSeparator" colspan="2">&#160;</td></tr>
194<tr class="memitem:a5c5b08f88a143cb48a600c044e2e3a56"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a5c5b08f88a143cb48a600c044e2e3a56">push_integer</a> (const int)</td></tr>
195<tr class="memdesc:a5c5b08f88a143cb48a600c044e2e3a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushinteger.  <br /></td></tr>
196<tr class="separator:a5c5b08f88a143cb48a600c044e2e3a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:a7e1219378038bf40f72533dd14946f63"><td class="memItemLeft" align="right" valign="top"><a id="a7e1219378038bf40f72533dd14946f63" name="a7e1219378038bf40f72533dd14946f63"></a>
198void&#160;</td><td class="memItemRight" valign="bottom"><b>push_nil</b> (void)</td></tr>
199<tr class="memdesc:a7e1219378038bf40f72533dd14946f63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushnil. <br /></td></tr>
200<tr class="separator:a7e1219378038bf40f72533dd14946f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:a90859ee0fb17b13c3ebf4dfbfbee8c15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a90859ee0fb17b13c3ebf4dfbfbee8c15">push_string</a> (const std::string &amp;)</td></tr>
202<tr class="memdesc:a90859ee0fb17b13c3ebf4dfbfbee8c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushstring.  <br /></td></tr>
203<tr class="separator:a90859ee0fb17b13c3ebf4dfbfbee8c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
204<tr class="memitem:a48d4552a0e81c350b6ea1077018fc3fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a48d4552a0e81c350b6ea1077018fc3fe">push_value</a> (const int)</td></tr>
205<tr class="memdesc:a48d4552a0e81c350b6ea1077018fc3fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_pushvalue.  <br /></td></tr>
206<tr class="separator:a48d4552a0e81c350b6ea1077018fc3fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<tr class="memitem:ad67d44dd8d7273cfce233731ad8f10d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ad67d44dd8d7273cfce233731ad8f10d7">raw_get</a> (const int)</td></tr>
208<tr class="memdesc:ad67d44dd8d7273cfce233731ad8f10d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_rawget.  <br /></td></tr>
209<tr class="separator:ad67d44dd8d7273cfce233731ad8f10d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
210<tr class="memitem:aa81b48420e6749c8f957af9039df0b37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#aa81b48420e6749c8f957af9039df0b37">raw_set</a> (const int)</td></tr>
211<tr class="memdesc:aa81b48420e6749c8f957af9039df0b37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_rawset.  <br /></td></tr>
212<tr class="separator:aa81b48420e6749c8f957af9039df0b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:ae8b4f75bb99611707739772417c36e5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ae8b4f75bb99611707739772417c36e5a">set_global</a> (const std::string &amp;)</td></tr>
214<tr class="memdesc:ae8b4f75bb99611707739772417c36e5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_setglobal.  <br /></td></tr>
215<tr class="separator:ae8b4f75bb99611707739772417c36e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
216<tr class="memitem:a9873b4860342a745a832f514ab803909"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a9873b4860342a745a832f514ab803909">set_metatable</a> (const int)</td></tr>
217<tr class="memdesc:a9873b4860342a745a832f514ab803909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_setmetatable.  <br /></td></tr>
218<tr class="separator:a9873b4860342a745a832f514ab803909"><td class="memSeparator" colspan="2">&#160;</td></tr>
219<tr class="memitem:ac2467d43a04babb717b4d6d384cf074c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ac2467d43a04babb717b4d6d384cf074c">set_table</a> (const int)</td></tr>
220<tr class="memdesc:ac2467d43a04babb717b4d6d384cf074c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_settable.  <br /></td></tr>
221<tr class="separator:ac2467d43a04babb717b4d6d384cf074c"><td class="memSeparator" colspan="2">&#160;</td></tr>
222<tr class="memitem:a32129410bd9c2cd170d60919d203a639"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a32129410bd9c2cd170d60919d203a639">to_boolean</a> (const int)</td></tr>
223<tr class="memdesc:a32129410bd9c2cd170d60919d203a639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_toboolean.  <br /></td></tr>
224<tr class="separator:a32129410bd9c2cd170d60919d203a639"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<tr class="memitem:ad947a5fb78835427838e4e10b16cc34a"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#ad947a5fb78835427838e4e10b16cc34a">to_integer</a> (const int)</td></tr>
226<tr class="memdesc:ad947a5fb78835427838e4e10b16cc34a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_tointeger.  <br /></td></tr>
227<tr class="separator:ad947a5fb78835427838e4e10b16cc34a"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:a0d7c94591101c42e93726ef7999eb11d"><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
229<tr class="memitem:a0d7c94591101c42e93726ef7999eb11d"><td class="memTemplItemLeft" align="right" valign="top">Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00919.html#a0d7c94591101c42e93726ef7999eb11d">to_userdata</a> (const int)</td></tr>
230<tr class="memdesc:a0d7c94591101c42e93726ef7999eb11d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_touserdata.  <br /></td></tr>
231<tr class="separator:a0d7c94591101c42e93726ef7999eb11d"><td class="memSeparator" colspan="2">&#160;</td></tr>
232<tr class="memitem:aa40dd851d1e2323c55356506922e7b60"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#aa40dd851d1e2323c55356506922e7b60">to_string</a> (const int)</td></tr>
233<tr class="memdesc:aa40dd851d1e2323c55356506922e7b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_tostring.  <br /></td></tr>
234<tr class="separator:aa40dd851d1e2323c55356506922e7b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
235<tr class="memitem:a1210a0875bde2a0452dd4813573b8865"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a1210a0875bde2a0452dd4813573b8865">upvalue_index</a> (const int)</td></tr>
236<tr class="memdesc:a1210a0875bde2a0452dd4813573b8865"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_upvalueindex.  <br /></td></tr>
237<tr class="separator:a1210a0875bde2a0452dd4813573b8865"><td class="memSeparator" colspan="2">&#160;</td></tr>
238</table><table class="memberdecls">
239<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
240Private Member Functions</h2></td></tr>
241<tr class="memitem:a5f2fa48408831695914e4a57acf85a7c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a5f2fa48408831695914e4a57acf85a7c">new_userdata_voidp</a> (const size_t)</td></tr>
242<tr class="memdesc:a5f2fa48408831695914e4a57acf85a7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_newuserdata.  <br /></td></tr>
243<tr class="separator:a5f2fa48408831695914e4a57acf85a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
244<tr class="memitem:a4054e2df5af0cc5db61c7560637406ea"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a4054e2df5af0cc5db61c7560637406ea">to_userdata_voidp</a> (const int)</td></tr>
245<tr class="memdesc:a4054e2df5af0cc5db61c7560637406ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around lua_touserdata.  <br /></td></tr>
246<tr class="separator:a4054e2df5af0cc5db61c7560637406ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
247<tr class="memitem:a526b2171768d4d214b6f8f4d0ed2cf1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a526b2171768d4d214b6f8f4d0ed2cf1e">state</a> (void *)</td></tr>
248<tr class="memdesc:a526b2171768d4d214b6f8f4d0ed2cf1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the Lua state from an existing raw state.  <br /></td></tr>
249<tr class="separator:a526b2171768d4d214b6f8f4d0ed2cf1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
250<tr class="memitem:a2b577a4a090b67aa5b9b7a3f0762ca18"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00919.html#a2b577a4a090b67aa5b9b7a3f0762ca18">raw_state</a> (void)</td></tr>
251<tr class="memdesc:a2b577a4a090b67aa5b9b7a3f0762ca18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the internal lua_State object.  <br /></td></tr>
252<tr class="separator:a2b577a4a090b67aa5b9b7a3f0762ca18"><td class="memSeparator" colspan="2">&#160;</td></tr>
253</table><table class="memberdecls">
254<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
255Private Attributes</h2></td></tr>
256<tr class="memitem:a46953d97b73c00aa13fb98d4f0bb28c5"><td class="memItemLeft" align="right" valign="top"><a id="a46953d97b73c00aa13fb98d4f0bb28c5" name="a46953d97b73c00aa13fb98d4f0bb28c5"></a>
257std::shared_ptr&lt; <a class="el" href="a00915.html">impl</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_pimpl</b></td></tr>
258<tr class="memdesc:a46953d97b73c00aa13fb98d4f0bb28c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the shared internal implementation. <br /></td></tr>
259<tr class="separator:a46953d97b73c00aa13fb98d4f0bb28c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
260</table><table class="memberdecls">
261<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
262Friends</h2></td></tr>
263<tr class="memitem:a1664309d3bb0137c1facd2595acf39e2"><td class="memItemLeft" align="right" valign="top"><a id="a1664309d3bb0137c1facd2595acf39e2" name="a1664309d3bb0137c1facd2595acf39e2"></a>
264class&#160;</td><td class="memItemRight" valign="bottom"><b>state_c_gate</b></td></tr>
265<tr class="separator:a1664309d3bb0137c1facd2595acf39e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
266</table>
267<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
268<div class="textblock"><p>A RAII model for the Lua state. </p>
269<p>This class holds the state of the Lua interpreter during its existence and provides wrappers around several Lua library functions that operate on such state.</p>
270<p>These wrapper functions differ from the C versions in that they use the implicit state hold by the class, they use C++ types where appropriate and they use exceptions to report errors.</p>
271<p>The wrappers intend to be as lightweight as possible but, in some situations, they are pretty complex because they need to do extra work to capture the errors reported by the Lua C API. We prefer having fine-grained error control rather than efficiency, so this is OK. </p>
272</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
273<a id="a526b2171768d4d214b6f8f4d0ed2cf1e" name="a526b2171768d4d214b6f8f4d0ed2cf1e"></a>
274<h2 class="memtitle"><span class="permalink"><a href="#a526b2171768d4d214b6f8f4d0ed2cf1e">&#9670;&#160;</a></span>state() <span class="overload">[1/2]</span></h2>
275
276<div class="memitem">
277<div class="memproto">
278<table class="mlabels">
279  <tr>
280  <td class="mlabels-left">
281      <table class="memname">
282        <tr>
283          <td class="memname">lutok::state::state </td>
284          <td>(</td>
285          <td class="paramtype">void *&#160;</td>
286          <td class="paramname"><em>raw_state_</em></td><td>)</td>
287          <td></td>
288        </tr>
289      </table>
290  </td>
291  <td class="mlabels-right">
292<span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">private</span></span>  </td>
293  </tr>
294</table>
295</div><div class="memdoc">
296
297<p>Initializes the Lua state from an existing raw state. </p>
298<p>Instances constructed using this method do NOT own the raw state. This means that, on exit, the state will not be destroyed.</p>
299<dl class="params"><dt>Parameters</dt><dd>
300  <table class="params">
301    <tr><td class="paramname">raw_state_</td><td>The raw Lua state to wrap. </td></tr>
302  </table>
303  </dd>
304</dl>
305
306</div>
307</div>
308<a id="ae952d08c75d4d07eef07fc00a608c4b4" name="ae952d08c75d4d07eef07fc00a608c4b4"></a>
309<h2 class="memtitle"><span class="permalink"><a href="#ae952d08c75d4d07eef07fc00a608c4b4">&#9670;&#160;</a></span>state() <span class="overload">[2/2]</span></h2>
310
311<div class="memitem">
312<div class="memproto">
313      <table class="memname">
314        <tr>
315          <td class="memname">lutok::state::state </td>
316          <td>(</td>
317          <td class="paramtype">void&#160;</td>
318          <td class="paramname"></td><td>)</td>
319          <td></td>
320        </tr>
321      </table>
322</div><div class="memdoc">
323
324<p>Initializes the Lua state. </p>
325<p>You must share the same state object alongside the lifetime of your Lua session. As soon as the object is destroyed, the session is terminated. </p>
326
327</div>
328</div>
329<a id="a2b163a6db54c80d3ad1d8d324e7e7fe1" name="a2b163a6db54c80d3ad1d8d324e7e7fe1"></a>
330<h2 class="memtitle"><span class="permalink"><a href="#a2b163a6db54c80d3ad1d8d324e7e7fe1">&#9670;&#160;</a></span>~state()</h2>
331
332<div class="memitem">
333<div class="memproto">
334      <table class="memname">
335        <tr>
336          <td class="memname">lutok::state::~state </td>
337          <td>(</td>
338          <td class="paramtype">void&#160;</td>
339          <td class="paramname"></td><td>)</td>
340          <td></td>
341        </tr>
342      </table>
343</div><div class="memdoc">
344
345<p>Destructor for the Lua state. </p>
346<p>Closes the session unless it has already been closed by calling the <a class="el" href="a00919.html#a16c2f95e91f64c5ac89258ee5dcd34e2" title="Terminates this Lua session.">close()</a> method. It is recommended to explicitly close the session in the code. </p>
347
348</div>
349</div>
350<h2 class="groupheader">Member Function Documentation</h2>
351<a id="a16c2f95e91f64c5ac89258ee5dcd34e2" name="a16c2f95e91f64c5ac89258ee5dcd34e2"></a>
352<h2 class="memtitle"><span class="permalink"><a href="#a16c2f95e91f64c5ac89258ee5dcd34e2">&#9670;&#160;</a></span>close()</h2>
353
354<div class="memitem">
355<div class="memproto">
356      <table class="memname">
357        <tr>
358          <td class="memname">void lutok::state::close </td>
359          <td>(</td>
360          <td class="paramtype">void&#160;</td>
361          <td class="paramname"></td><td>)</td>
362          <td></td>
363        </tr>
364      </table>
365</div><div class="memdoc">
366
367<p>Terminates this Lua session. </p>
368<p>It is recommended to call this instead of relying on the destructor to do the cleanup, but it is not a requirement to use <a class="el" href="a00919.html#a16c2f95e91f64c5ac89258ee5dcd34e2" title="Terminates this Lua session.">close()</a>.</p>
369<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="a00919.html#a16c2f95e91f64c5ac89258ee5dcd34e2" title="Terminates this Lua session.">close()</a> has not yet been called. </dd>
370<dd>
371The Lua stack is empty. This is not truly necessary but ensures that our code is consistent and clears the stack explicitly. </dd></dl>
372
373</div>
374</div>
375<a id="a0291a3b34c5bed860d8d53e54eaee349" name="a0291a3b34c5bed860d8d53e54eaee349"></a>
376<h2 class="memtitle"><span class="permalink"><a href="#a0291a3b34c5bed860d8d53e54eaee349">&#9670;&#160;</a></span>get_global()</h2>
377
378<div class="memitem">
379<div class="memproto">
380      <table class="memname">
381        <tr>
382          <td class="memname">void lutok::state::get_global </td>
383          <td>(</td>
384          <td class="paramtype">const std::string &amp;&#160;</td>
385          <td class="paramname"><em>name</em></td><td>)</td>
386          <td></td>
387        </tr>
388      </table>
389</div><div class="memdoc">
390
391<p>Wrapper around lua_getglobal. </p>
392<dl class="params"><dt>Parameters</dt><dd>
393  <table class="params">
394    <tr><td class="paramname">name</td><td>The second parameter to lua_getglobal.</td></tr>
395  </table>
396  </dd>
397</dl>
398<dl class="exception"><dt>Exceptions</dt><dd>
399  <table class="exception">
400    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If lua_getglobal fails.</td></tr>
401  </table>
402  </dd>
403</dl>
404<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory to manipulate the Lua stack. </dd></dl>
405
406</div>
407</div>
408<a id="a2287f1dd03e6a72837ab020512927ee6" name="a2287f1dd03e6a72837ab020512927ee6"></a>
409<h2 class="memtitle"><span class="permalink"><a href="#a2287f1dd03e6a72837ab020512927ee6">&#9670;&#160;</a></span>get_global_table()</h2>
410
411<div class="memitem">
412<div class="memproto">
413      <table class="memname">
414        <tr>
415          <td class="memname">void lutok::state::get_global_table </td>
416          <td>(</td>
417          <td class="paramtype">void&#160;</td>
418          <td class="paramname"></td><td>)</td>
419          <td></td>
420        </tr>
421      </table>
422</div><div class="memdoc">
423
424<p>Pushes a reference to the global table onto the stack. </p>
425<p>This is a wrapper around the incompatible differences between Lua 5.1 and 5.2 to access to the globals table.</p>
426<dl class="section post"><dt>Postcondition</dt><dd>state(-1) Contains the reference to the globals table. </dd></dl>
427
428</div>
429</div>
430<a id="a0d4f5204547cac3e4855e375f6bc64cb" name="a0d4f5204547cac3e4855e375f6bc64cb"></a>
431<h2 class="memtitle"><span class="permalink"><a href="#a0d4f5204547cac3e4855e375f6bc64cb">&#9670;&#160;</a></span>get_metafield()</h2>
432
433<div class="memitem">
434<div class="memproto">
435      <table class="memname">
436        <tr>
437          <td class="memname">bool lutok::state::get_metafield </td>
438          <td>(</td>
439          <td class="paramtype">const int&#160;</td>
440          <td class="paramname"><em>index</em>, </td>
441        </tr>
442        <tr>
443          <td class="paramkey"></td>
444          <td></td>
445          <td class="paramtype">const std::string &amp;&#160;</td>
446          <td class="paramname"><em>name</em>&#160;</td>
447        </tr>
448        <tr>
449          <td></td>
450          <td>)</td>
451          <td></td><td></td>
452        </tr>
453      </table>
454</div><div class="memdoc">
455
456<p>Wrapper around luaL_getmetafield. </p>
457<dl class="params"><dt>Parameters</dt><dd>
458  <table class="params">
459    <tr><td class="paramname">index</td><td>The second parameter to luaL_getmetafield. </td></tr>
460    <tr><td class="paramname">name</td><td>The third parameter to luaL_getmetafield.</td></tr>
461  </table>
462  </dd>
463</dl>
464<dl class="section return"><dt>Returns</dt><dd>The return value of luaL_getmetafield.</dd></dl>
465<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory to manipulate the Lua stack. </dd></dl>
466
467</div>
468</div>
469<a id="abbbafa23bb49ccc04e0f32f47b629ae5" name="abbbafa23bb49ccc04e0f32f47b629ae5"></a>
470<h2 class="memtitle"><span class="permalink"><a href="#abbbafa23bb49ccc04e0f32f47b629ae5">&#9670;&#160;</a></span>get_metatable()</h2>
471
472<div class="memitem">
473<div class="memproto">
474      <table class="memname">
475        <tr>
476          <td class="memname">bool lutok::state::get_metatable </td>
477          <td>(</td>
478          <td class="paramtype">const int&#160;</td>
479          <td class="paramname"><em>index</em></td><td>)</td>
480          <td></td>
481        </tr>
482      </table>
483</div><div class="memdoc">
484
485<p>Wrapper around lua_getmetatable. </p>
486<dl class="params"><dt>Parameters</dt><dd>
487  <table class="params">
488    <tr><td class="paramname">index</td><td>The second parameter to lua_getmetatable.</td></tr>
489  </table>
490  </dd>
491</dl>
492<dl class="section return"><dt>Returns</dt><dd>The return value of lua_getmetatable. </dd></dl>
493
494</div>
495</div>
496<a id="a8865c4d7ee8a5d9f9ffeff22b8819648" name="a8865c4d7ee8a5d9f9ffeff22b8819648"></a>
497<h2 class="memtitle"><span class="permalink"><a href="#a8865c4d7ee8a5d9f9ffeff22b8819648">&#9670;&#160;</a></span>get_table()</h2>
498
499<div class="memitem">
500<div class="memproto">
501      <table class="memname">
502        <tr>
503          <td class="memname">void lutok::state::get_table </td>
504          <td>(</td>
505          <td class="paramtype">const int&#160;</td>
506          <td class="paramname"><em>index</em></td><td>)</td>
507          <td></td>
508        </tr>
509      </table>
510</div><div class="memdoc">
511
512<p>Wrapper around lua_gettable. </p>
513<dl class="params"><dt>Parameters</dt><dd>
514  <table class="params">
515    <tr><td class="paramname">index</td><td>The second parameter to lua_gettable.</td></tr>
516  </table>
517  </dd>
518</dl>
519<dl class="exception"><dt>Exceptions</dt><dd>
520  <table class="exception">
521    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If lua_gettable fails.</td></tr>
522  </table>
523  </dd>
524</dl>
525<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory to manipulate the Lua stack. </dd></dl>
526
527</div>
528</div>
529<a id="af8591bfdccb2e8732c147a8a6623b2e5" name="af8591bfdccb2e8732c147a8a6623b2e5"></a>
530<h2 class="memtitle"><span class="permalink"><a href="#af8591bfdccb2e8732c147a8a6623b2e5">&#9670;&#160;</a></span>get_top()</h2>
531
532<div class="memitem">
533<div class="memproto">
534      <table class="memname">
535        <tr>
536          <td class="memname">int lutok::state::get_top </td>
537          <td>(</td>
538          <td class="paramtype">void&#160;</td>
539          <td class="paramname"></td><td>)</td>
540          <td></td>
541        </tr>
542      </table>
543</div><div class="memdoc">
544
545<p>Wrapper around lua_gettop. </p>
546<dl class="section return"><dt>Returns</dt><dd>The return value of lua_gettop. </dd></dl>
547
548</div>
549</div>
550<a id="a69d7e97f6140c24382fbfd05aa16ad72" name="a69d7e97f6140c24382fbfd05aa16ad72"></a>
551<h2 class="memtitle"><span class="permalink"><a href="#a69d7e97f6140c24382fbfd05aa16ad72">&#9670;&#160;</a></span>insert()</h2>
552
553<div class="memitem">
554<div class="memproto">
555      <table class="memname">
556        <tr>
557          <td class="memname">void lutok::state::insert </td>
558          <td>(</td>
559          <td class="paramtype">const int&#160;</td>
560          <td class="paramname"><em>index</em></td><td>)</td>
561          <td></td>
562        </tr>
563      </table>
564</div><div class="memdoc">
565
566<p>Wrapper around lua_insert. </p>
567<dl class="params"><dt>Parameters</dt><dd>
568  <table class="params">
569    <tr><td class="paramname">index</td><td>The second parameter to lua_insert. </td></tr>
570  </table>
571  </dd>
572</dl>
573
574</div>
575</div>
576<a id="a4efb903445d053766fe54800d36d4deb" name="a4efb903445d053766fe54800d36d4deb"></a>
577<h2 class="memtitle"><span class="permalink"><a href="#a4efb903445d053766fe54800d36d4deb">&#9670;&#160;</a></span>is_boolean()</h2>
578
579<div class="memitem">
580<div class="memproto">
581      <table class="memname">
582        <tr>
583          <td class="memname">bool lutok::state::is_boolean </td>
584          <td>(</td>
585          <td class="paramtype">const int&#160;</td>
586          <td class="paramname"><em>index</em></td><td>)</td>
587          <td></td>
588        </tr>
589      </table>
590</div><div class="memdoc">
591
592<p>Wrapper around lua_isboolean. </p>
593<dl class="params"><dt>Parameters</dt><dd>
594  <table class="params">
595    <tr><td class="paramname">index</td><td>The second parameter to lua_isboolean.</td></tr>
596  </table>
597  </dd>
598</dl>
599<dl class="section return"><dt>Returns</dt><dd>The return value of lua_isboolean. </dd></dl>
600
601</div>
602</div>
603<a id="ab454ca52fec8413fde1d46df003c19c0" name="ab454ca52fec8413fde1d46df003c19c0"></a>
604<h2 class="memtitle"><span class="permalink"><a href="#ab454ca52fec8413fde1d46df003c19c0">&#9670;&#160;</a></span>is_function()</h2>
605
606<div class="memitem">
607<div class="memproto">
608      <table class="memname">
609        <tr>
610          <td class="memname">bool lutok::state::is_function </td>
611          <td>(</td>
612          <td class="paramtype">const int&#160;</td>
613          <td class="paramname"><em>index</em></td><td>)</td>
614          <td></td>
615        </tr>
616      </table>
617</div><div class="memdoc">
618
619<p>Wrapper around lua_isfunction. </p>
620<dl class="params"><dt>Parameters</dt><dd>
621  <table class="params">
622    <tr><td class="paramname">index</td><td>The second parameter to lua_isfunction.</td></tr>
623  </table>
624  </dd>
625</dl>
626<dl class="section return"><dt>Returns</dt><dd>The return value of lua_isfunction. </dd></dl>
627
628</div>
629</div>
630<a id="a21c5f4f63cf89db0f16dd032f0612a78" name="a21c5f4f63cf89db0f16dd032f0612a78"></a>
631<h2 class="memtitle"><span class="permalink"><a href="#a21c5f4f63cf89db0f16dd032f0612a78">&#9670;&#160;</a></span>is_nil()</h2>
632
633<div class="memitem">
634<div class="memproto">
635      <table class="memname">
636        <tr>
637          <td class="memname">bool lutok::state::is_nil </td>
638          <td>(</td>
639          <td class="paramtype">const int&#160;</td>
640          <td class="paramname"><em>index</em></td><td>)</td>
641          <td></td>
642        </tr>
643      </table>
644</div><div class="memdoc">
645
646<p>Wrapper around lua_isnil. </p>
647<dl class="params"><dt>Parameters</dt><dd>
648  <table class="params">
649    <tr><td class="paramname">index</td><td>The second parameter to lua_isnil.</td></tr>
650  </table>
651  </dd>
652</dl>
653<dl class="section return"><dt>Returns</dt><dd>The return value of lua_isnil. </dd></dl>
654
655</div>
656</div>
657<a id="acd31e0953ee71c94903e5444bf451eb1" name="acd31e0953ee71c94903e5444bf451eb1"></a>
658<h2 class="memtitle"><span class="permalink"><a href="#acd31e0953ee71c94903e5444bf451eb1">&#9670;&#160;</a></span>is_number()</h2>
659
660<div class="memitem">
661<div class="memproto">
662      <table class="memname">
663        <tr>
664          <td class="memname">bool lutok::state::is_number </td>
665          <td>(</td>
666          <td class="paramtype">const int&#160;</td>
667          <td class="paramname"><em>index</em></td><td>)</td>
668          <td></td>
669        </tr>
670      </table>
671</div><div class="memdoc">
672
673<p>Wrapper around lua_isnumber. </p>
674<dl class="params"><dt>Parameters</dt><dd>
675  <table class="params">
676    <tr><td class="paramname">index</td><td>The second parameter to lua_isnumber.</td></tr>
677  </table>
678  </dd>
679</dl>
680<dl class="section return"><dt>Returns</dt><dd>The return value of lua_isnumber. </dd></dl>
681
682</div>
683</div>
684<a id="af82c354bbcedaa5f7b2f8b8e6f6c69b5" name="af82c354bbcedaa5f7b2f8b8e6f6c69b5"></a>
685<h2 class="memtitle"><span class="permalink"><a href="#af82c354bbcedaa5f7b2f8b8e6f6c69b5">&#9670;&#160;</a></span>is_string()</h2>
686
687<div class="memitem">
688<div class="memproto">
689      <table class="memname">
690        <tr>
691          <td class="memname">bool lutok::state::is_string </td>
692          <td>(</td>
693          <td class="paramtype">const int&#160;</td>
694          <td class="paramname"><em>index</em></td><td>)</td>
695          <td></td>
696        </tr>
697      </table>
698</div><div class="memdoc">
699
700<p>Wrapper around lua_isstring. </p>
701<dl class="params"><dt>Parameters</dt><dd>
702  <table class="params">
703    <tr><td class="paramname">index</td><td>The second parameter to lua_isstring.</td></tr>
704  </table>
705  </dd>
706</dl>
707<dl class="section return"><dt>Returns</dt><dd>The return value of lua_isstring. </dd></dl>
708
709</div>
710</div>
711<a id="a468113870c8129430cbd773f5abb85fa" name="a468113870c8129430cbd773f5abb85fa"></a>
712<h2 class="memtitle"><span class="permalink"><a href="#a468113870c8129430cbd773f5abb85fa">&#9670;&#160;</a></span>is_table()</h2>
713
714<div class="memitem">
715<div class="memproto">
716      <table class="memname">
717        <tr>
718          <td class="memname">bool lutok::state::is_table </td>
719          <td>(</td>
720          <td class="paramtype">const int&#160;</td>
721          <td class="paramname"><em>index</em></td><td>)</td>
722          <td></td>
723        </tr>
724      </table>
725</div><div class="memdoc">
726
727<p>Wrapper around lua_istable. </p>
728<dl class="params"><dt>Parameters</dt><dd>
729  <table class="params">
730    <tr><td class="paramname">index</td><td>The second parameter to lua_istable.</td></tr>
731  </table>
732  </dd>
733</dl>
734<dl class="section return"><dt>Returns</dt><dd>The return value of lua_istable. </dd></dl>
735
736</div>
737</div>
738<a id="adea141de47b0e6895e8ee9afe5c82a0e" name="adea141de47b0e6895e8ee9afe5c82a0e"></a>
739<h2 class="memtitle"><span class="permalink"><a href="#adea141de47b0e6895e8ee9afe5c82a0e">&#9670;&#160;</a></span>is_userdata()</h2>
740
741<div class="memitem">
742<div class="memproto">
743      <table class="memname">
744        <tr>
745          <td class="memname">bool lutok::state::is_userdata </td>
746          <td>(</td>
747          <td class="paramtype">const int&#160;</td>
748          <td class="paramname"><em>index</em></td><td>)</td>
749          <td></td>
750        </tr>
751      </table>
752</div><div class="memdoc">
753
754<p>Wrapper around lua_isuserdata. </p>
755<dl class="params"><dt>Parameters</dt><dd>
756  <table class="params">
757    <tr><td class="paramname">index</td><td>The second parameter to lua_isuserdata.</td></tr>
758  </table>
759  </dd>
760</dl>
761<dl class="section return"><dt>Returns</dt><dd>The return value of lua_isuserdata. </dd></dl>
762
763</div>
764</div>
765<a id="a493b3192ade9e2f32940b96fa9ef461b" name="a493b3192ade9e2f32940b96fa9ef461b"></a>
766<h2 class="memtitle"><span class="permalink"><a href="#a493b3192ade9e2f32940b96fa9ef461b">&#9670;&#160;</a></span>load_file()</h2>
767
768<div class="memitem">
769<div class="memproto">
770      <table class="memname">
771        <tr>
772          <td class="memname">void lutok::state::load_file </td>
773          <td>(</td>
774          <td class="paramtype">const std::string &amp;&#160;</td>
775          <td class="paramname"><em>file</em></td><td>)</td>
776          <td></td>
777        </tr>
778      </table>
779</div><div class="memdoc">
780
781<p>Wrapper around luaL_loadfile. </p>
782<dl class="params"><dt>Parameters</dt><dd>
783  <table class="params">
784    <tr><td class="paramname">file</td><td>The second parameter to luaL_loadfile.</td></tr>
785  </table>
786  </dd>
787</dl>
788<dl class="exception"><dt>Exceptions</dt><dd>
789  <table class="exception">
790    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If luaL_loadfile returns an error. </td></tr>
791    <tr><td class="paramname"><a class="el" href="a00903.html" title="File not found error.">file_not_found_error</a></td><td>If the file cannot be accessed.</td></tr>
792  </table>
793  </dd>
794</dl>
795<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
796
797</div>
798</div>
799<a id="a5ff9ef96d82c9cc497a8dfc1404a1c82" name="a5ff9ef96d82c9cc497a8dfc1404a1c82"></a>
800<h2 class="memtitle"><span class="permalink"><a href="#a5ff9ef96d82c9cc497a8dfc1404a1c82">&#9670;&#160;</a></span>load_string()</h2>
801
802<div class="memitem">
803<div class="memproto">
804      <table class="memname">
805        <tr>
806          <td class="memname">void lutok::state::load_string </td>
807          <td>(</td>
808          <td class="paramtype">const std::string &amp;&#160;</td>
809          <td class="paramname"><em>str</em></td><td>)</td>
810          <td></td>
811        </tr>
812      </table>
813</div><div class="memdoc">
814
815<p>Wrapper around luaL_loadstring. </p>
816<dl class="params"><dt>Parameters</dt><dd>
817  <table class="params">
818    <tr><td class="paramname">str</td><td>The second parameter to luaL_loadstring.</td></tr>
819  </table>
820  </dd>
821</dl>
822<dl class="exception"><dt>Exceptions</dt><dd>
823  <table class="exception">
824    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If luaL_loadstring returns an error.</td></tr>
825  </table>
826  </dd>
827</dl>
828<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
829
830</div>
831</div>
832<a id="a50d389a2c6d23214eda1e46e15ed20b5" name="a50d389a2c6d23214eda1e46e15ed20b5"></a>
833<h2 class="memtitle"><span class="permalink"><a href="#a50d389a2c6d23214eda1e46e15ed20b5">&#9670;&#160;</a></span>new_table()</h2>
834
835<div class="memitem">
836<div class="memproto">
837      <table class="memname">
838        <tr>
839          <td class="memname">void lutok::state::new_table </td>
840          <td>(</td>
841          <td class="paramtype">void&#160;</td>
842          <td class="paramname"></td><td>)</td>
843          <td></td>
844        </tr>
845      </table>
846</div><div class="memdoc">
847
848<p>Wrapper around lua_newtable. </p>
849<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
850
851</div>
852</div>
853<a id="aaec7e57d4434f087cef8d38a221ae474" name="aaec7e57d4434f087cef8d38a221ae474"></a>
854<h2 class="memtitle"><span class="permalink"><a href="#aaec7e57d4434f087cef8d38a221ae474">&#9670;&#160;</a></span>new_userdata()</h2>
855
856<div class="memitem">
857<div class="memproto">
858<div class="memtemplate">
859template&lt;typename Type &gt; </div>
860      <table class="memname">
861        <tr>
862          <td class="memname">Type * lutok::state::new_userdata </td>
863          <td>(</td>
864          <td class="paramtype">void&#160;</td>
865          <td class="paramname"></td><td>)</td>
866          <td></td>
867        </tr>
868      </table>
869</div><div class="memdoc">
870
871<p>Wrapper around lua_newuserdata. </p>
872<p>This allocates an object as big as the size of the provided Type.</p>
873<dl class="section return"><dt>Returns</dt><dd>The pointer to the allocated userdata object.</dd></dl>
874<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
875
876</div>
877</div>
878<a id="a5f2fa48408831695914e4a57acf85a7c" name="a5f2fa48408831695914e4a57acf85a7c"></a>
879<h2 class="memtitle"><span class="permalink"><a href="#a5f2fa48408831695914e4a57acf85a7c">&#9670;&#160;</a></span>new_userdata_voidp()</h2>
880
881<div class="memitem">
882<div class="memproto">
883<table class="mlabels">
884  <tr>
885  <td class="mlabels-left">
886      <table class="memname">
887        <tr>
888          <td class="memname">void * lutok::state::new_userdata_voidp </td>
889          <td>(</td>
890          <td class="paramtype">const size_t&#160;</td>
891          <td class="paramname"><em>size</em></td><td>)</td>
892          <td></td>
893        </tr>
894      </table>
895  </td>
896  <td class="mlabels-right">
897<span class="mlabels"><span class="mlabel">private</span></span>  </td>
898  </tr>
899</table>
900</div><div class="memdoc">
901
902<p>Wrapper around lua_newuserdata. </p>
903<p>This is internal. The public type-safe interface of this method should be used instead.</p>
904<dl class="params"><dt>Parameters</dt><dd>
905  <table class="params">
906    <tr><td class="paramname">size</td><td>The second parameter to lua_newuserdata.</td></tr>
907  </table>
908  </dd>
909</dl>
910<dl class="section return"><dt>Returns</dt><dd>The return value of lua_newuserdata.</dd></dl>
911<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
912
913</div>
914</div>
915<a id="abbbcf3c19d7d29594ea2e61ece52b815" name="abbbcf3c19d7d29594ea2e61ece52b815"></a>
916<h2 class="memtitle"><span class="permalink"><a href="#abbbcf3c19d7d29594ea2e61ece52b815">&#9670;&#160;</a></span>next()</h2>
917
918<div class="memitem">
919<div class="memproto">
920      <table class="memname">
921        <tr>
922          <td class="memname">bool lutok::state::next </td>
923          <td>(</td>
924          <td class="paramtype">const int&#160;</td>
925          <td class="paramname"><em>index</em></td><td>)</td>
926          <td></td>
927        </tr>
928      </table>
929</div><div class="memdoc">
930
931<p>Wrapper around lua_next. </p>
932<dl class="params"><dt>Parameters</dt><dd>
933  <table class="params">
934    <tr><td class="paramname">index</td><td>The second parameter to lua_next.</td></tr>
935  </table>
936  </dd>
937</dl>
938<dl class="section return"><dt>Returns</dt><dd>True if there are more elements to process; false otherwise.</dd></dl>
939<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
940
941</div>
942</div>
943<a id="a940ebd0fb37259360a63b7a669d8ca99" name="a940ebd0fb37259360a63b7a669d8ca99"></a>
944<h2 class="memtitle"><span class="permalink"><a href="#a940ebd0fb37259360a63b7a669d8ca99">&#9670;&#160;</a></span>open_all()</h2>
945
946<div class="memitem">
947<div class="memproto">
948      <table class="memname">
949        <tr>
950          <td class="memname">void lutok::state::open_all </td>
951          <td>(</td>
952          <td class="paramtype">void&#160;</td>
953          <td class="paramname"></td><td>)</td>
954          <td></td>
955        </tr>
956      </table>
957</div><div class="memdoc">
958
959<p>Wrapper around luaL_openlibs. </p>
960<dl class="exception"><dt>Exceptions</dt><dd>
961  <table class="exception">
962    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If luaL_openlibs fails.</td></tr>
963  </table>
964  </dd>
965</dl>
966<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
967
968</div>
969</div>
970<a id="abf68c04d96308868fec71a628741c712" name="abf68c04d96308868fec71a628741c712"></a>
971<h2 class="memtitle"><span class="permalink"><a href="#abf68c04d96308868fec71a628741c712">&#9670;&#160;</a></span>open_base()</h2>
972
973<div class="memitem">
974<div class="memproto">
975      <table class="memname">
976        <tr>
977          <td class="memname">void lutok::state::open_base </td>
978          <td>(</td>
979          <td class="paramtype">void&#160;</td>
980          <td class="paramname"></td><td>)</td>
981          <td></td>
982        </tr>
983      </table>
984</div><div class="memdoc">
985
986<p>Wrapper around luaopen_base. </p>
987<dl class="exception"><dt>Exceptions</dt><dd>
988  <table class="exception">
989    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If luaopen_base fails.</td></tr>
990  </table>
991  </dd>
992</dl>
993<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
994
995</div>
996</div>
997<a id="a85db3b50e195e6ab7e81f9f51205d8c0" name="a85db3b50e195e6ab7e81f9f51205d8c0"></a>
998<h2 class="memtitle"><span class="permalink"><a href="#a85db3b50e195e6ab7e81f9f51205d8c0">&#9670;&#160;</a></span>open_string()</h2>
999
1000<div class="memitem">
1001<div class="memproto">
1002      <table class="memname">
1003        <tr>
1004          <td class="memname">void lutok::state::open_string </td>
1005          <td>(</td>
1006          <td class="paramtype">void&#160;</td>
1007          <td class="paramname"></td><td>)</td>
1008          <td></td>
1009        </tr>
1010      </table>
1011</div><div class="memdoc">
1012
1013<p>Wrapper around luaopen_string. </p>
1014<dl class="exception"><dt>Exceptions</dt><dd>
1015  <table class="exception">
1016    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If luaopen_string fails.</td></tr>
1017  </table>
1018  </dd>
1019</dl>
1020<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
1021
1022</div>
1023</div>
1024<a id="a8898b62799b3b8a70a2b6a049e531515" name="a8898b62799b3b8a70a2b6a049e531515"></a>
1025<h2 class="memtitle"><span class="permalink"><a href="#a8898b62799b3b8a70a2b6a049e531515">&#9670;&#160;</a></span>open_table()</h2>
1026
1027<div class="memitem">
1028<div class="memproto">
1029      <table class="memname">
1030        <tr>
1031          <td class="memname">void lutok::state::open_table </td>
1032          <td>(</td>
1033          <td class="paramtype">void&#160;</td>
1034          <td class="paramname"></td><td>)</td>
1035          <td></td>
1036        </tr>
1037      </table>
1038</div><div class="memdoc">
1039
1040<p>Wrapper around luaopen_table. </p>
1041<dl class="exception"><dt>Exceptions</dt><dd>
1042  <table class="exception">
1043    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If luaopen_table fails.</td></tr>
1044  </table>
1045  </dd>
1046</dl>
1047<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
1048
1049</div>
1050</div>
1051<a id="a307897e3501a5b5b08eb66f35f4d18df" name="a307897e3501a5b5b08eb66f35f4d18df"></a>
1052<h2 class="memtitle"><span class="permalink"><a href="#a307897e3501a5b5b08eb66f35f4d18df">&#9670;&#160;</a></span>pcall()</h2>
1053
1054<div class="memitem">
1055<div class="memproto">
1056      <table class="memname">
1057        <tr>
1058          <td class="memname">void lutok::state::pcall </td>
1059          <td>(</td>
1060          <td class="paramtype">const int&#160;</td>
1061          <td class="paramname"><em>nargs</em>, </td>
1062        </tr>
1063        <tr>
1064          <td class="paramkey"></td>
1065          <td></td>
1066          <td class="paramtype">const int&#160;</td>
1067          <td class="paramname"><em>nresults</em>, </td>
1068        </tr>
1069        <tr>
1070          <td class="paramkey"></td>
1071          <td></td>
1072          <td class="paramtype">const int&#160;</td>
1073          <td class="paramname"><em>errfunc</em>&#160;</td>
1074        </tr>
1075        <tr>
1076          <td></td>
1077          <td>)</td>
1078          <td></td><td></td>
1079        </tr>
1080      </table>
1081</div><div class="memdoc">
1082
1083<p>Wrapper around lua_pcall. </p>
1084<dl class="params"><dt>Parameters</dt><dd>
1085  <table class="params">
1086    <tr><td class="paramname">nargs</td><td>The second parameter to lua_pcall. </td></tr>
1087    <tr><td class="paramname">nresults</td><td>The third parameter to lua_pcall. </td></tr>
1088    <tr><td class="paramname">errfunc</td><td>The fourth parameter to lua_pcall.</td></tr>
1089  </table>
1090  </dd>
1091</dl>
1092<dl class="exception"><dt>Exceptions</dt><dd>
1093  <table class="exception">
1094    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If lua_pcall returns an error. </td></tr>
1095  </table>
1096  </dd>
1097</dl>
1098
1099</div>
1100</div>
1101<a id="ac07258b143ef607dd9f6a9e24e495c20" name="ac07258b143ef607dd9f6a9e24e495c20"></a>
1102<h2 class="memtitle"><span class="permalink"><a href="#ac07258b143ef607dd9f6a9e24e495c20">&#9670;&#160;</a></span>pop()</h2>
1103
1104<div class="memitem">
1105<div class="memproto">
1106      <table class="memname">
1107        <tr>
1108          <td class="memname">void lutok::state::pop </td>
1109          <td>(</td>
1110          <td class="paramtype">const int&#160;</td>
1111          <td class="paramname"><em>count</em></td><td>)</td>
1112          <td></td>
1113        </tr>
1114      </table>
1115</div><div class="memdoc">
1116
1117<p>Wrapper around lua_pop. </p>
1118<dl class="params"><dt>Parameters</dt><dd>
1119  <table class="params">
1120    <tr><td class="paramname">count</td><td>The second parameter to lua_pop. </td></tr>
1121  </table>
1122  </dd>
1123</dl>
1124
1125</div>
1126</div>
1127<a id="a11e9a3235154ebf867298935f1f58ca5" name="a11e9a3235154ebf867298935f1f58ca5"></a>
1128<h2 class="memtitle"><span class="permalink"><a href="#a11e9a3235154ebf867298935f1f58ca5">&#9670;&#160;</a></span>push_boolean()</h2>
1129
1130<div class="memitem">
1131<div class="memproto">
1132      <table class="memname">
1133        <tr>
1134          <td class="memname">void lutok::state::push_boolean </td>
1135          <td>(</td>
1136          <td class="paramtype">const bool&#160;</td>
1137          <td class="paramname"><em>value</em></td><td>)</td>
1138          <td></td>
1139        </tr>
1140      </table>
1141</div><div class="memdoc">
1142
1143<p>Wrapper around lua_pushboolean. </p>
1144<dl class="params"><dt>Parameters</dt><dd>
1145  <table class="params">
1146    <tr><td class="paramname">value</td><td>The second parameter to lua_pushboolean. </td></tr>
1147  </table>
1148  </dd>
1149</dl>
1150
1151</div>
1152</div>
1153<a id="a0e5b1b04d7bdf606a7b013b83de433d1" name="a0e5b1b04d7bdf606a7b013b83de433d1"></a>
1154<h2 class="memtitle"><span class="permalink"><a href="#a0e5b1b04d7bdf606a7b013b83de433d1">&#9670;&#160;</a></span>push_cxx_closure()</h2>
1155
1156<div class="memitem">
1157<div class="memproto">
1158      <table class="memname">
1159        <tr>
1160          <td class="memname">void lutok::state::push_cxx_closure </td>
1161          <td>(</td>
1162          <td class="paramtype"><a class="el" href="a00029.html#a8c623ca426c30c5fab4df2cb21635f17">cxx_function</a>&#160;</td>
1163          <td class="paramname"><em>function</em>, </td>
1164        </tr>
1165        <tr>
1166          <td class="paramkey"></td>
1167          <td></td>
1168          <td class="paramtype">const int&#160;</td>
1169          <td class="paramname"><em>nvalues</em>&#160;</td>
1170        </tr>
1171        <tr>
1172          <td></td>
1173          <td>)</td>
1174          <td></td><td></td>
1175        </tr>
1176      </table>
1177</div><div class="memdoc">
1178
1179<p>Wrapper around lua_pushcclosure. </p>
1180<p>This is not a pure wrapper around lua_pushcclosure because this has to do extra magic to allow passing C++ functions instead of plain C functions.</p>
1181<dl class="params"><dt>Parameters</dt><dd>
1182  <table class="params">
1183    <tr><td class="paramname">function</td><td>The C++ function to be pushed as a closure. </td></tr>
1184    <tr><td class="paramname">nvalues</td><td>The number of upvalues that the function receives. </td></tr>
1185  </table>
1186  </dd>
1187</dl>
1188
1189</div>
1190</div>
1191<a id="ae894e01dd1ff748aaf3f1a657363fe02" name="ae894e01dd1ff748aaf3f1a657363fe02"></a>
1192<h2 class="memtitle"><span class="permalink"><a href="#ae894e01dd1ff748aaf3f1a657363fe02">&#9670;&#160;</a></span>push_cxx_function()</h2>
1193
1194<div class="memitem">
1195<div class="memproto">
1196      <table class="memname">
1197        <tr>
1198          <td class="memname">void lutok::state::push_cxx_function </td>
1199          <td>(</td>
1200          <td class="paramtype"><a class="el" href="a00029.html#a8c623ca426c30c5fab4df2cb21635f17">cxx_function</a>&#160;</td>
1201          <td class="paramname"><em>function</em></td><td>)</td>
1202          <td></td>
1203        </tr>
1204      </table>
1205</div><div class="memdoc">
1206
1207<p>Wrapper around lua_pushcfunction. </p>
1208<p>This is not a pure wrapper around lua_pushcfunction because this has to do extra magic to allow passing C++ functions instead of plain C functions.</p>
1209<dl class="params"><dt>Parameters</dt><dd>
1210  <table class="params">
1211    <tr><td class="paramname">function</td><td>The C++ function to be pushed. </td></tr>
1212  </table>
1213  </dd>
1214</dl>
1215
1216</div>
1217</div>
1218<a id="a5c5b08f88a143cb48a600c044e2e3a56" name="a5c5b08f88a143cb48a600c044e2e3a56"></a>
1219<h2 class="memtitle"><span class="permalink"><a href="#a5c5b08f88a143cb48a600c044e2e3a56">&#9670;&#160;</a></span>push_integer()</h2>
1220
1221<div class="memitem">
1222<div class="memproto">
1223      <table class="memname">
1224        <tr>
1225          <td class="memname">void lutok::state::push_integer </td>
1226          <td>(</td>
1227          <td class="paramtype">const int&#160;</td>
1228          <td class="paramname"><em>value</em></td><td>)</td>
1229          <td></td>
1230        </tr>
1231      </table>
1232</div><div class="memdoc">
1233
1234<p>Wrapper around lua_pushinteger. </p>
1235<dl class="params"><dt>Parameters</dt><dd>
1236  <table class="params">
1237    <tr><td class="paramname">value</td><td>The second parameter to lua_pushinteger. </td></tr>
1238  </table>
1239  </dd>
1240</dl>
1241
1242</div>
1243</div>
1244<a id="a90859ee0fb17b13c3ebf4dfbfbee8c15" name="a90859ee0fb17b13c3ebf4dfbfbee8c15"></a>
1245<h2 class="memtitle"><span class="permalink"><a href="#a90859ee0fb17b13c3ebf4dfbfbee8c15">&#9670;&#160;</a></span>push_string()</h2>
1246
1247<div class="memitem">
1248<div class="memproto">
1249      <table class="memname">
1250        <tr>
1251          <td class="memname">void lutok::state::push_string </td>
1252          <td>(</td>
1253          <td class="paramtype">const std::string &amp;&#160;</td>
1254          <td class="paramname"><em>str</em></td><td>)</td>
1255          <td></td>
1256        </tr>
1257      </table>
1258</div><div class="memdoc">
1259
1260<p>Wrapper around lua_pushstring. </p>
1261<dl class="params"><dt>Parameters</dt><dd>
1262  <table class="params">
1263    <tr><td class="paramname">str</td><td>The second parameter to lua_pushstring.</td></tr>
1264  </table>
1265  </dd>
1266</dl>
1267<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
1268
1269</div>
1270</div>
1271<a id="a48d4552a0e81c350b6ea1077018fc3fe" name="a48d4552a0e81c350b6ea1077018fc3fe"></a>
1272<h2 class="memtitle"><span class="permalink"><a href="#a48d4552a0e81c350b6ea1077018fc3fe">&#9670;&#160;</a></span>push_value()</h2>
1273
1274<div class="memitem">
1275<div class="memproto">
1276      <table class="memname">
1277        <tr>
1278          <td class="memname">void lutok::state::push_value </td>
1279          <td>(</td>
1280          <td class="paramtype">const int&#160;</td>
1281          <td class="paramname"><em>index</em></td><td>)</td>
1282          <td></td>
1283        </tr>
1284      </table>
1285</div><div class="memdoc">
1286
1287<p>Wrapper around lua_pushvalue. </p>
1288<dl class="params"><dt>Parameters</dt><dd>
1289  <table class="params">
1290    <tr><td class="paramname">index</td><td>The second parameter to lua_pushvalue. </td></tr>
1291  </table>
1292  </dd>
1293</dl>
1294
1295</div>
1296</div>
1297<a id="ad67d44dd8d7273cfce233731ad8f10d7" name="ad67d44dd8d7273cfce233731ad8f10d7"></a>
1298<h2 class="memtitle"><span class="permalink"><a href="#ad67d44dd8d7273cfce233731ad8f10d7">&#9670;&#160;</a></span>raw_get()</h2>
1299
1300<div class="memitem">
1301<div class="memproto">
1302      <table class="memname">
1303        <tr>
1304          <td class="memname">void lutok::state::raw_get </td>
1305          <td>(</td>
1306          <td class="paramtype">const int&#160;</td>
1307          <td class="paramname"><em>index</em></td><td>)</td>
1308          <td></td>
1309        </tr>
1310      </table>
1311</div><div class="memdoc">
1312
1313<p>Wrapper around lua_rawget. </p>
1314<dl class="params"><dt>Parameters</dt><dd>
1315  <table class="params">
1316    <tr><td class="paramname">index</td><td>The second parameter to lua_rawget. </td></tr>
1317  </table>
1318  </dd>
1319</dl>
1320
1321</div>
1322</div>
1323<a id="aa81b48420e6749c8f957af9039df0b37" name="aa81b48420e6749c8f957af9039df0b37"></a>
1324<h2 class="memtitle"><span class="permalink"><a href="#aa81b48420e6749c8f957af9039df0b37">&#9670;&#160;</a></span>raw_set()</h2>
1325
1326<div class="memitem">
1327<div class="memproto">
1328      <table class="memname">
1329        <tr>
1330          <td class="memname">void lutok::state::raw_set </td>
1331          <td>(</td>
1332          <td class="paramtype">const int&#160;</td>
1333          <td class="paramname"><em>index</em></td><td>)</td>
1334          <td></td>
1335        </tr>
1336      </table>
1337</div><div class="memdoc">
1338
1339<p>Wrapper around lua_rawset. </p>
1340<dl class="params"><dt>Parameters</dt><dd>
1341  <table class="params">
1342    <tr><td class="paramname">index</td><td>The second parameter to lua_rawset.</td></tr>
1343  </table>
1344  </dd>
1345</dl>
1346<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory to manipulate the Lua stack. </dd></dl>
1347
1348</div>
1349</div>
1350<a id="a2b577a4a090b67aa5b9b7a3f0762ca18" name="a2b577a4a090b67aa5b9b7a3f0762ca18"></a>
1351<h2 class="memtitle"><span class="permalink"><a href="#a2b577a4a090b67aa5b9b7a3f0762ca18">&#9670;&#160;</a></span>raw_state()</h2>
1352
1353<div class="memitem">
1354<div class="memproto">
1355<table class="mlabels">
1356  <tr>
1357  <td class="mlabels-left">
1358      <table class="memname">
1359        <tr>
1360          <td class="memname">void * lutok::state::raw_state </td>
1361          <td>(</td>
1362          <td class="paramtype">void&#160;</td>
1363          <td class="paramname"></td><td>)</td>
1364          <td></td>
1365        </tr>
1366      </table>
1367  </td>
1368  <td class="mlabels-right">
1369<span class="mlabels"><span class="mlabel">private</span></span>  </td>
1370  </tr>
1371</table>
1372</div><div class="memdoc">
1373
1374<p>Gets the internal lua_State object. </p>
1375<dl class="section return"><dt>Returns</dt><dd>The raw Lua state. This is returned as a void pointer to prevent including the lua.hpp header file from our public interface. The only way to call this method is by using the c_gate module, and c_gate takes care of casting this object to the appropriate type. </dd></dl>
1376
1377</div>
1378</div>
1379<a id="ae8b4f75bb99611707739772417c36e5a" name="ae8b4f75bb99611707739772417c36e5a"></a>
1380<h2 class="memtitle"><span class="permalink"><a href="#ae8b4f75bb99611707739772417c36e5a">&#9670;&#160;</a></span>set_global()</h2>
1381
1382<div class="memitem">
1383<div class="memproto">
1384      <table class="memname">
1385        <tr>
1386          <td class="memname">void lutok::state::set_global </td>
1387          <td>(</td>
1388          <td class="paramtype">const std::string &amp;&#160;</td>
1389          <td class="paramname"><em>name</em></td><td>)</td>
1390          <td></td>
1391        </tr>
1392      </table>
1393</div><div class="memdoc">
1394
1395<p>Wrapper around lua_setglobal. </p>
1396<dl class="params"><dt>Parameters</dt><dd>
1397  <table class="params">
1398    <tr><td class="paramname">name</td><td>The second parameter to lua_setglobal.</td></tr>
1399  </table>
1400  </dd>
1401</dl>
1402<dl class="exception"><dt>Exceptions</dt><dd>
1403  <table class="exception">
1404    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If lua_setglobal fails.</td></tr>
1405  </table>
1406  </dd>
1407</dl>
1408<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory to manipulate the Lua stack. </dd></dl>
1409
1410</div>
1411</div>
1412<a id="a9873b4860342a745a832f514ab803909" name="a9873b4860342a745a832f514ab803909"></a>
1413<h2 class="memtitle"><span class="permalink"><a href="#a9873b4860342a745a832f514ab803909">&#9670;&#160;</a></span>set_metatable()</h2>
1414
1415<div class="memitem">
1416<div class="memproto">
1417      <table class="memname">
1418        <tr>
1419          <td class="memname">void lutok::state::set_metatable </td>
1420          <td>(</td>
1421          <td class="paramtype">const int&#160;</td>
1422          <td class="paramname"><em>index</em></td><td>)</td>
1423          <td></td>
1424        </tr>
1425      </table>
1426</div><div class="memdoc">
1427
1428<p>Wrapper around lua_setmetatable. </p>
1429<dl class="params"><dt>Parameters</dt><dd>
1430  <table class="params">
1431    <tr><td class="paramname">index</td><td>The second parameter to lua_setmetatable. </td></tr>
1432  </table>
1433  </dd>
1434</dl>
1435
1436</div>
1437</div>
1438<a id="ac2467d43a04babb717b4d6d384cf074c" name="ac2467d43a04babb717b4d6d384cf074c"></a>
1439<h2 class="memtitle"><span class="permalink"><a href="#ac2467d43a04babb717b4d6d384cf074c">&#9670;&#160;</a></span>set_table()</h2>
1440
1441<div class="memitem">
1442<div class="memproto">
1443      <table class="memname">
1444        <tr>
1445          <td class="memname">void lutok::state::set_table </td>
1446          <td>(</td>
1447          <td class="paramtype">const int&#160;</td>
1448          <td class="paramname"><em>index</em></td><td>)</td>
1449          <td></td>
1450        </tr>
1451      </table>
1452</div><div class="memdoc">
1453
1454<p>Wrapper around lua_settable. </p>
1455<dl class="params"><dt>Parameters</dt><dd>
1456  <table class="params">
1457    <tr><td class="paramname">index</td><td>The second parameter to lua_settable.</td></tr>
1458  </table>
1459  </dd>
1460</dl>
1461<dl class="exception"><dt>Exceptions</dt><dd>
1462  <table class="exception">
1463    <tr><td class="paramname"><a class="el" href="a00899.html" title="Exception for errors raised by the Lua API library.">api_error</a></td><td>If lua_settable fails.</td></tr>
1464  </table>
1465  </dd>
1466</dl>
1467<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory to manipulate the Lua stack. </dd></dl>
1468
1469</div>
1470</div>
1471<a id="a32129410bd9c2cd170d60919d203a639" name="a32129410bd9c2cd170d60919d203a639"></a>
1472<h2 class="memtitle"><span class="permalink"><a href="#a32129410bd9c2cd170d60919d203a639">&#9670;&#160;</a></span>to_boolean()</h2>
1473
1474<div class="memitem">
1475<div class="memproto">
1476      <table class="memname">
1477        <tr>
1478          <td class="memname">bool lutok::state::to_boolean </td>
1479          <td>(</td>
1480          <td class="paramtype">const int&#160;</td>
1481          <td class="paramname"><em>index</em></td><td>)</td>
1482          <td></td>
1483        </tr>
1484      </table>
1485</div><div class="memdoc">
1486
1487<p>Wrapper around lua_toboolean. </p>
1488<dl class="params"><dt>Parameters</dt><dd>
1489  <table class="params">
1490    <tr><td class="paramname">index</td><td>The second parameter to lua_toboolean.</td></tr>
1491  </table>
1492  </dd>
1493</dl>
1494<dl class="section return"><dt>Returns</dt><dd>The return value of lua_toboolean. </dd></dl>
1495
1496</div>
1497</div>
1498<a id="ad947a5fb78835427838e4e10b16cc34a" name="ad947a5fb78835427838e4e10b16cc34a"></a>
1499<h2 class="memtitle"><span class="permalink"><a href="#ad947a5fb78835427838e4e10b16cc34a">&#9670;&#160;</a></span>to_integer()</h2>
1500
1501<div class="memitem">
1502<div class="memproto">
1503      <table class="memname">
1504        <tr>
1505          <td class="memname">long lutok::state::to_integer </td>
1506          <td>(</td>
1507          <td class="paramtype">const int&#160;</td>
1508          <td class="paramname"><em>index</em></td><td>)</td>
1509          <td></td>
1510        </tr>
1511      </table>
1512</div><div class="memdoc">
1513
1514<p>Wrapper around lua_tointeger. </p>
1515<dl class="params"><dt>Parameters</dt><dd>
1516  <table class="params">
1517    <tr><td class="paramname">index</td><td>The second parameter to lua_tointeger.</td></tr>
1518  </table>
1519  </dd>
1520</dl>
1521<dl class="section return"><dt>Returns</dt><dd>The return value of lua_tointeger. </dd></dl>
1522
1523</div>
1524</div>
1525<a id="aa40dd851d1e2323c55356506922e7b60" name="aa40dd851d1e2323c55356506922e7b60"></a>
1526<h2 class="memtitle"><span class="permalink"><a href="#aa40dd851d1e2323c55356506922e7b60">&#9670;&#160;</a></span>to_string()</h2>
1527
1528<div class="memitem">
1529<div class="memproto">
1530      <table class="memname">
1531        <tr>
1532          <td class="memname">std::string lutok::state::to_string </td>
1533          <td>(</td>
1534          <td class="paramtype">const int&#160;</td>
1535          <td class="paramname"><em>index</em></td><td>)</td>
1536          <td></td>
1537        </tr>
1538      </table>
1539</div><div class="memdoc">
1540
1541<p>Wrapper around lua_tostring. </p>
1542<dl class="params"><dt>Parameters</dt><dd>
1543  <table class="params">
1544    <tr><td class="paramname">index</td><td>The second parameter to lua_tostring.</td></tr>
1545  </table>
1546  </dd>
1547</dl>
1548<dl class="section return"><dt>Returns</dt><dd>The return value of lua_tostring.</dd></dl>
1549<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
1550
1551</div>
1552</div>
1553<a id="a0d7c94591101c42e93726ef7999eb11d" name="a0d7c94591101c42e93726ef7999eb11d"></a>
1554<h2 class="memtitle"><span class="permalink"><a href="#a0d7c94591101c42e93726ef7999eb11d">&#9670;&#160;</a></span>to_userdata()</h2>
1555
1556<div class="memitem">
1557<div class="memproto">
1558<div class="memtemplate">
1559template&lt;typename Type &gt; </div>
1560      <table class="memname">
1561        <tr>
1562          <td class="memname">Type * lutok::state::to_userdata </td>
1563          <td>(</td>
1564          <td class="paramtype">const int&#160;</td>
1565          <td class="paramname"><em>index</em></td><td>)</td>
1566          <td></td>
1567        </tr>
1568      </table>
1569</div><div class="memdoc">
1570
1571<p>Wrapper around lua_touserdata. </p>
1572<dl class="params"><dt>Parameters</dt><dd>
1573  <table class="params">
1574    <tr><td class="paramname">index</td><td>The second parameter to lua_touserdata.</td></tr>
1575  </table>
1576  </dd>
1577</dl>
1578<dl class="section return"><dt>Returns</dt><dd>The return value of lua_touserdata. </dd></dl>
1579
1580</div>
1581</div>
1582<a id="a4054e2df5af0cc5db61c7560637406ea" name="a4054e2df5af0cc5db61c7560637406ea"></a>
1583<h2 class="memtitle"><span class="permalink"><a href="#a4054e2df5af0cc5db61c7560637406ea">&#9670;&#160;</a></span>to_userdata_voidp()</h2>
1584
1585<div class="memitem">
1586<div class="memproto">
1587<table class="mlabels">
1588  <tr>
1589  <td class="mlabels-left">
1590      <table class="memname">
1591        <tr>
1592          <td class="memname">void * lutok::state::to_userdata_voidp </td>
1593          <td>(</td>
1594          <td class="paramtype">const int&#160;</td>
1595          <td class="paramname"><em>index</em></td><td>)</td>
1596          <td></td>
1597        </tr>
1598      </table>
1599  </td>
1600  <td class="mlabels-right">
1601<span class="mlabels"><span class="mlabel">private</span></span>  </td>
1602  </tr>
1603</table>
1604</div><div class="memdoc">
1605
1606<p>Wrapper around lua_touserdata. </p>
1607<p>This is internal. The public type-safe interface of this method should be used instead.</p>
1608<dl class="params"><dt>Parameters</dt><dd>
1609  <table class="params">
1610    <tr><td class="paramname">index</td><td>The second parameter to lua_touserdata.</td></tr>
1611  </table>
1612  </dd>
1613</dl>
1614<dl class="section return"><dt>Returns</dt><dd>The return value of lua_touserdata.</dd></dl>
1615<dl class="section warning"><dt>Warning</dt><dd>Terminates execution if there is not enough memory. </dd></dl>
1616
1617</div>
1618</div>
1619<a id="a1210a0875bde2a0452dd4813573b8865" name="a1210a0875bde2a0452dd4813573b8865"></a>
1620<h2 class="memtitle"><span class="permalink"><a href="#a1210a0875bde2a0452dd4813573b8865">&#9670;&#160;</a></span>upvalue_index()</h2>
1621
1622<div class="memitem">
1623<div class="memproto">
1624      <table class="memname">
1625        <tr>
1626          <td class="memname">int lutok::state::upvalue_index </td>
1627          <td>(</td>
1628          <td class="paramtype">const int&#160;</td>
1629          <td class="paramname"><em>index</em></td><td>)</td>
1630          <td></td>
1631        </tr>
1632      </table>
1633</div><div class="memdoc">
1634
1635<p>Wrapper around lua_upvalueindex. </p>
1636<dl class="params"><dt>Parameters</dt><dd>
1637  <table class="params">
1638    <tr><td class="paramname">index</td><td>The first parameter to lua_upvalueindex.</td></tr>
1639  </table>
1640  </dd>
1641</dl>
1642<dl class="section return"><dt>Returns</dt><dd>The return value of lua_upvalueindex. </dd></dl>
1643
1644</div>
1645</div>
1646<hr/>The documentation for this class was generated from the following files:<ul>
1647<li><a class="el" href="a00029_source.html">state.hpp</a></li>
1648<li>state.cpp</li>
1649<li>state.ipp</li>
1650</ul>
1651</div><!-- contents -->
1652<!-- start footer part -->
1653<hr class="footer"/><address class="footer"><small>
1654Generated 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
1655</small></address>
1656</body>
1657</html>
1658