<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>Lutok: state.hpp Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Lutok  <span id="projectnumber">0.4</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Macros</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="headertitle"> <div class="title">state.hpp</div> </div> </div><!--header--> <div class="contents"> <a href="a00028.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Copyright 2011 Google Inc.</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// All rights reserved.</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Redistribution and use in source and binary forms, with or without</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// modification, are permitted provided that the following conditions are</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// met:</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// * Redistributions of source code must retain the above copyright</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// notice, this list of conditions and the following disclaimer.</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// * Redistributions in binary form must reproduce the above copyright</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// notice, this list of conditions and the following disclaimer in the</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// documentation and/or other materials provided with the distribution.</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// * Neither the name of Google Inc. nor the names of its contributors</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// may be used to endorse or promote products derived from this software</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// without specific prior written permission.</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">//</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#if !defined(LUTOK_STATE_HPP)</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#define LUTOK_STATE_HPP</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#include <memory></span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#include <tr1/memory></span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">namespace </span>lutok {</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">class </span>debug;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">class </span>state;</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">typedef</span> int (*cxx_function)(state&);</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> registry_index;</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> <div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="a00009.html"> 76</a></span> <span class="keyword">class </span><a class="code" href="a00009.html" title="A RAII model for the Lua state.">state</a> {</div> <div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="a00009.html#a8186e860494a2eabf487c28693c494d4"> 77</a></span>  <span class="keyword">struct </span><a class="code" href="a00010.html" title="Internal implementation for lutok::state.">impl</a>;</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L</span></div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span> std::shared_ptr< impl > <a class="code" href="a00009.html#a8186e860494a2eabf487c28693c494d4" title="Pointer to the shared internal implementation.">_pimpl</a>;</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span> std::tr1::shared_ptr< impl > <a class="code" href="a00009.html#a8186e860494a2eabf487c28693c494d4" title="Pointer to the shared internal implementation.">_pimpl</a>;</div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordtype">void</span>* <a class="code" href="a00009.html#a5f2fa48408831695914e4a57acf85a7c" title="Wrapper around lua_newuserdata.">new_userdata_voidp</a>(<span class="keyword">const</span> <span class="keywordtype">size_t</span>);</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">void</span>* <a class="code" href="a00009.html#a4054e2df5af0cc5db61c7560637406ea" title="Wrapper around lua_touserdata.">to_userdata_voidp</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="a00011.html" title="Gateway to the raw C state of Lua.">state_c_gate</a>;</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">explicit</span> <a class="code" href="a00009.html#ae952d08c75d4d07eef07fc00a608c4b4" title="Initializes the Lua state.">state</a>(<span class="keywordtype">void</span>*);</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">void</span>* <a class="code" href="a00009.html#a2b577a4a090b67aa5b9b7a3f0762ca18" title="Gets the internal lua_State object.">raw_state</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="a00009.html#ae952d08c75d4d07eef07fc00a608c4b4" title="Initializes the Lua state.">state</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="a00009.html#a2b163a6db54c80d3ad1d8d324e7e7fe1" title="Destructor for the Lua state.">~state</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a16c2f95e91f64c5ac89258ee5dcd34e2" title="Terminates this Lua session.">close</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a0291a3b34c5bed860d8d53e54eaee349" title="Wrapper around lua_getglobal.">get_global</a>(<span class="keyword">const</span> std::string&);</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a2287f1dd03e6a72837ab020512927ee6" title="Pushes a reference to the global table onto the stack.">get_global_table</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#a0d4f5204547cac3e4855e375f6bc64cb" title="Wrapper around luaL_getmetafield.">get_metafield</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>, <span class="keyword">const</span> std::string&);</div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#abbbafa23bb49ccc04e0f32f47b629ae5" title="Wrapper around lua_getmetatable.">get_metatable</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a8865c4d7ee8a5d9f9ffeff22b8819648" title="Wrapper around lua_gettable.">get_table</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">int</span> <a class="code" href="a00009.html#af8591bfdccb2e8732c147a8a6623b2e5" title="Wrapper around lua_gettop.">get_top</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a69d7e97f6140c24382fbfd05aa16ad72" title="Wrapper around lua_insert.">insert</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#a4efb903445d053766fe54800d36d4deb" title="Wrapper around lua_isboolean.">is_boolean</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#ab454ca52fec8413fde1d46df003c19c0" title="Wrapper around lua_isfunction.">is_function</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#a21c5f4f63cf89db0f16dd032f0612a78" title="Wrapper around lua_isnil.">is_nil</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#acd31e0953ee71c94903e5444bf451eb1" title="Wrapper around lua_isnumber.">is_number</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#af82c354bbcedaa5f7b2f8b8e6f6c69b5" title="Wrapper around lua_isstring.">is_string</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#a468113870c8129430cbd773f5abb85fa" title="Wrapper around lua_istable.">is_table</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#adea141de47b0e6895e8ee9afe5c82a0e" title="Wrapper around lua_isuserdata.">is_userdata</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a493b3192ade9e2f32940b96fa9ef461b" title="Wrapper around luaL_loadfile.">load_file</a>(<span class="keyword">const</span> std::string&);</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a5ff9ef96d82c9cc497a8dfc1404a1c82" title="Wrapper around luaL_loadstring.">load_string</a>(<span class="keyword">const</span> std::string&);</div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a50d389a2c6d23214eda1e46e15ed20b5" title="Wrapper around lua_newtable.">new_table</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">template</span>< <span class="keyword">typename</span> Type > Type* <a class="code" href="a00009.html#aaec7e57d4434f087cef8d38a221ae474" title="Wrapper around lua_newuserdata.">new_userdata</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#abbbcf3c19d7d29594ea2e61ece52b815" title="Wrapper around lua_next.">next</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a940ebd0fb37259360a63b7a669d8ca99" title="Wrapper around luaL_openlibs.">open_all</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#abf68c04d96308868fec71a628741c712" title="Wrapper around luaopen_base.">open_base</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a85db3b50e195e6ab7e81f9f51205d8c0" title="Wrapper around luaopen_string.">open_string</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a8898b62799b3b8a70a2b6a049e531515" title="Wrapper around luaopen_table.">open_table</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a307897e3501a5b5b08eb66f35f4d18df" title="Wrapper around lua_pcall.">pcall</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>, <span class="keyword">const</span> <span class="keywordtype">int</span>, <span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#ac07258b143ef607dd9f6a9e24e495c20" title="Wrapper around lua_pop.">pop</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a11e9a3235154ebf867298935f1f58ca5" title="Wrapper around lua_pushboolean.">push_boolean</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span>);</div> <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a0e5b1b04d7bdf606a7b013b83de433d1" title="Wrapper around lua_pushcclosure.">push_cxx_closure</a>(cxx_function, <span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#ae894e01dd1ff748aaf3f1a657363fe02" title="Wrapper around lua_pushcfunction.">push_cxx_function</a>(cxx_function);</div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a5c5b08f88a143cb48a600c044e2e3a56" title="Wrapper around lua_pushinteger.">push_integer</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a7e1219378038bf40f72533dd14946f63" title="Wrapper around lua_pushnil.">push_nil</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a90859ee0fb17b13c3ebf4dfbfbee8c15" title="Wrapper around lua_pushstring.">push_string</a>(<span class="keyword">const</span> std::string&);</div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a48d4552a0e81c350b6ea1077018fc3fe" title="Wrapper around lua_pushvalue.">push_value</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#ad67d44dd8d7273cfce233731ad8f10d7" title="Wrapper around lua_rawget.">raw_get</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#aa81b48420e6749c8f957af9039df0b37" title="Wrapper around lua_rawset.">raw_set</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#ae8b4f75bb99611707739772417c36e5a" title="Wrapper around lua_setglobal.">set_global</a>(<span class="keyword">const</span> std::string&);</div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#a9873b4860342a745a832f514ab803909" title="Wrapper around lua_setmetatable.">set_metatable</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordtype">void</span> <a class="code" href="a00009.html#ac2467d43a04babb717b4d6d384cf074c" title="Wrapper around lua_settable.">set_table</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">bool</span> <a class="code" href="a00009.html#a32129410bd9c2cd170d60919d203a639" title="Wrapper around lua_toboolean.">to_boolean</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">long</span> <a class="code" href="a00009.html#ad947a5fb78835427838e4e10b16cc34a" title="Wrapper around lua_tointeger.">to_integer</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">template</span>< <span class="keyword">typename</span> Type > Type* <a class="code" href="a00009.html#a0d7c94591101c42e93726ef7999eb11d" title="Wrapper around lua_touserdata.">to_userdata</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  std::string <a class="code" href="a00009.html#aa40dd851d1e2323c55356506922e7b60" title="Wrapper around lua_tostring.">to_string</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">int</span> <a class="code" href="a00009.html#a1210a0875bde2a0452dd4813573b8865" title="Wrapper around lua_upvalueindex.">upvalue_index</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>);</div> <div class="line"><a name="l00140"></a><span class="lineno"> 140</span> };</div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> } <span class="comment">// namespace lutok</span></div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#endif // !defined(LUTOK_STATE_HPP)</span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Sat Dec 7 2013 19:02:36 for Lutok by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>