namespaceluwra.html 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227
  1. <!-- HTML header for doxygen 1.8.10-->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  6. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  7. <meta name="generator" content="Doxygen 1.8.11"/>
  8. <title>Luwra: luwra Namespace Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  13. <link href="stylesheet.css" rel="stylesheet" type="text/css"/>
  14. </head>
  15. <body>
  16. <div id="top">
  17. <!-- Generated by Doxygen 1.8.11 -->
  18. <div id="navrow1" class="tabs">
  19. <ul class="tablist">
  20. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  21. <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
  22. <li><a href="annotated.html"><span>Classes</span></a></li>
  23. </ul>
  24. </div>
  25. <div id="navrow2" class="tabs2">
  26. <ul class="tablist">
  27. <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
  28. <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
  29. </ul>
  30. </div>
  31. </div><!-- top -->
  32. <div class="header">
  33. <div class="summary">
  34. <a href="#nested-classes">Classes</a> &#124;
  35. <a href="#typedef-members">Typedefs</a> &#124;
  36. <a href="#func-members">Functions</a> </div>
  37. <div class="headertitle">
  38. <div class="title">luwra Namespace Reference</div> </div>
  39. </div><!--header-->
  40. <div class="contents">
  41. <table class="memberdecls">
  42. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  43. Classes</h2></td></tr>
  44. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Arbitrary.html">Arbitrary</a></td></tr>
  45. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  46. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1GlobalAccessor.html">GlobalAccessor</a></td></tr>
  47. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  48. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1NativeFunction.html">NativeFunction</a></td></tr>
  49. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  50. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1NativeFunction_3_01R_07A_8_8_8_08_4.html">NativeFunction&lt; R(A...)&gt;</a></td></tr>
  51. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  52. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1NativeFunction_3_01void_07A_8_8_8_08_4.html">NativeFunction&lt; void(A...)&gt;</a></td></tr>
  53. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  54. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Pushable.html">Pushable</a></td></tr>
  55. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  56. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1StateWrapper.html">StateWrapper</a></td></tr>
  57. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  58. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value.html">Value</a></td></tr>
  59. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  60. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01Arbitrary_01_4.html">Value&lt; Arbitrary &gt;</a></td></tr>
  61. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  62. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01bool_01_4.html">Value&lt; bool &gt;</a></td></tr>
  63. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  64. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01CFunction_01_4.html">Value&lt; CFunction &gt;</a></td></tr>
  65. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  66. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01char[n]_4.html">Value&lt; char[n]&gt;</a></td></tr>
  67. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  68. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01const_01char_01_5_01_4.html">Value&lt; const char * &gt;</a></td></tr>
  69. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  70. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01const_01char[n]_4.html">Value&lt; const char[n]&gt;</a></td></tr>
  71. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01const_01T_01_4.html">Value&lt; const T &gt;</a></td></tr>
  73. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  74. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01double_01_4.html">Value&lt; double &gt;</a></td></tr>
  75. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html">Value&lt; FieldVector &gt;</a></td></tr>
  77. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01float_01_4.html">Value&lt; float &gt;</a></td></tr>
  79. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01long_01double_01_4.html">Value&lt; long double &gt;</a></td></tr>
  81. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_07A_8_8_8_08_4_01_4.html">Value&lt; NativeFunction&lt; R(A...)&gt; &gt;</a></td></tr>
  83. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html">Value&lt; Pushable &gt;</a></td></tr>
  85. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  86. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedchar_01_4.html">Value&lt; signedchar &gt;</a></td></tr>
  87. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedint_01_4.html">Value&lt; signedint &gt;</a></td></tr>
  89. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedlong_01int_01_4.html">Value&lt; signedlong int &gt;</a></td></tr>
  91. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedlong_01long_01int_01_4.html">Value&lt; signedlong long int &gt;</a></td></tr>
  93. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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="structluwra_1_1Value_3_01signedshort_01_4.html">Value&lt; signedshort &gt;</a></td></tr>
  95. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html">Value&lt; std::nullptr_t &gt;</a></td></tr>
  97. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html">Value&lt; std::string &gt;</a></td></tr>
  99. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html">Value&lt; std::tuple&lt; A... &gt; &gt;</a></td></tr>
  101. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html">Value&lt; U &amp; &gt;</a></td></tr>
  103. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html">Value&lt; U * &gt;</a></td></tr>
  105. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01char_01_4.html">Value&lt; unsigned char &gt;</a></td></tr>
  107. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01int_01_4.html">Value&lt; unsigned int &gt;</a></td></tr>
  109. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01int_01_4.html">Value&lt; unsigned long int &gt;</a></td></tr>
  111. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01long_01int_01_4.html">Value&lt; unsigned long long int &gt;</a></td></tr>
  113. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01short_01_4.html">Value&lt; unsigned short &gt;</a></td></tr>
  115. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01volatile_01T_01_4.html">Value&lt; volatile T &gt;</a></td></tr>
  117. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. </table><table class="memberdecls">
  119. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  120. Typedefs</h2></td></tr>
  121. <tr class="memitem:ac090722c6d5d6b88b31895aad64788c2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> = std::vector&lt; std::pair&lt; <a class="el" href="structluwra_1_1Pushable.html">Pushable</a>, <a class="el" href="structluwra_1_1Pushable.html">Pushable</a> &gt;&gt;</td></tr>
  122. <tr class="separator:ac090722c6d5d6b88b31895aad64788c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:afd2d98882f58f8b2afdb49c3ada78659"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#afd2d98882f58f8b2afdb49c3ada78659">Integer</a> = lua_Integer</td></tr>
  124. <tr class="separator:afd2d98882f58f8b2afdb49c3ada78659"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:ae4dc6c1079fe75220ee055a00a49a3c1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">Number</a> = lua_Number</td></tr>
  126. <tr class="separator:ae4dc6c1079fe75220ee055a00a49a3c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:a2c037b44385367826eb4e931b5b8197d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> = lua_State</td></tr>
  128. <tr class="separator:a2c037b44385367826eb4e931b5b8197d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a4e313d0af10393323fa280848c3888a1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">CFunction</a> = lua_CFunction</td></tr>
  130. <tr class="separator:a4e313d0af10393323fa280848c3888a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a6dc0acb148bf26f49b0b27d6cad9bfe1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> = std::map&lt; std::string, <a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">CFunction</a> &gt;</td></tr>
  132. <tr class="separator:a6dc0acb148bf26f49b0b27d6cad9bfe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. </table><table class="memberdecls">
  134. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  135. Functions</h2></td></tr>
  136. <tr class="memitem:a7814014b3adfbb6899255f120e70af26"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a7814014b3adfbb6899255f120e70af26">equal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index1, int index2)</td></tr>
  137. <tr class="separator:a7814014b3adfbb6899255f120e70af26"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:a7a73f160e82f91ae974ea33c72248c35"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a7a73f160e82f91ae974ea33c72248c35">setMetatable</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const char *name)</td></tr>
  139. <tr class="separator:a7a73f160e82f91ae974ea33c72248c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:afed27900ff117638937ad92e0217258d"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
  141. <tr class="memitem:afed27900ff117638937ad92e0217258d"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#afed27900ff117638937ad92e0217258d">setGlobal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::string &amp;name, V value)</td></tr>
  142. <tr class="separator:afed27900ff117638937ad92e0217258d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:af0a7dbbbdb339227c6ecaaa46422e05b"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
  144. <tr class="memitem:af0a7dbbbdb339227c6ecaaa46422e05b"><td class="memTemplItemLeft" align="right" valign="top">static V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#af0a7dbbbdb339227c6ecaaa46422e05b">getGlobal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::string &amp;name)</td></tr>
  145. <tr class="separator:af0a7dbbbdb339227c6ecaaa46422e05b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="memitem:a1d630ce9ae9b10af33624f70dde4b148"><td class="memTemplParams" colspan="2">template&lt;typename... R&gt; </td></tr>
  147. <tr class="memitem:a1d630ce9ae9b10af33624f70dde4b148"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a1d630ce9ae9b10af33624f70dde4b148">setFields</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index, R &amp;&amp;...args)</td></tr>
  148. <tr class="separator:a1d630ce9ae9b10af33624f70dde4b148"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:a00729c47fba6114115f2e3f32c21f0b8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a00729c47fba6114115f2e3f32c21f0b8">setFields</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index, const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;fields)</td></tr>
  150. <tr class="separator:a00729c47fba6114115f2e3f32c21f0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a06cabc81163602ec1fd8f580944f5b86"><td class="memTemplParams" colspan="2">template&lt;typename V , typename K &gt; </td></tr>
  152. <tr class="memitem:a06cabc81163602ec1fd8f580944f5b86"><td class="memTemplItemLeft" align="right" valign="top">static V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a06cabc81163602ec1fd8f580944f5b86">getField</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index, K key)</td></tr>
  153. <tr class="separator:a06cabc81163602ec1fd8f580944f5b86"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:aa20e363f38b3ae5a168cf40365f5646a"><td class="memTemplParams" colspan="2">template&lt;typename S , typename F , typename... X&gt; </td></tr>
  155. <tr class="memitem:aa20e363f38b3ae5a168cf40365f5646a"><td class="memTemplItemLeft" align="right" valign="top">static internal::Layout&lt; S &gt;::ReturnType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, F &amp;&amp;hook, X &amp;&amp;...args)</td></tr>
  156. <tr class="separator:aa20e363f38b3ae5a168cf40365f5646a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memTemplParams" colspan="2">template&lt;typename S , typename F , typename... A&gt; </td></tr>
  158. <tr class="memitem:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memTemplItemLeft" align="right" valign="top">static internal::Layout&lt; S &gt;::ReturnType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a037ab066fd6d547c57a912ffe7e5edd9">direct</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, F &amp;&amp;hook, A &amp;&amp;...args)</td></tr>
  159. <tr class="separator:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:a839077ddd9c3d0565a40c574bc8e9555"><td class="memTemplParams" colspan="2">template&lt;typename R , typename... A&gt; </td></tr>
  161. <tr class="memitem:a839077ddd9c3d0565a40c574bc8e9555"><td class="memTemplItemLeft" align="right" valign="top">static R&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a839077ddd9c3d0565a40c574bc8e9555">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, R(*fun)(A...))</td></tr>
  162. <tr class="separator:a839077ddd9c3d0565a40c574bc8e9555"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:ae5412e502815db7aa2a10e6c84394457"><td class="memTemplParams" colspan="2">template&lt;typename R , typename... A&gt; </td></tr>
  164. <tr class="memitem:ae5412e502815db7aa2a10e6c84394457"><td class="memTemplItemLeft" align="right" valign="top">static R&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ae5412e502815db7aa2a10e6c84394457">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, R(*fun)(A...))</td></tr>
  165. <tr class="separator:ae5412e502815db7aa2a10e6c84394457"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:a983092513bfded87189613f8dc27ebbe"><td class="memTemplParams" colspan="2">template&lt;typename R , typename... A&gt; </td></tr>
  167. <tr class="memitem:a983092513bfded87189613f8dc27ebbe"><td class="memTemplItemLeft" align="right" valign="top">static R&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a983092513bfded87189613f8dc27ebbe">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, const std::function&lt; R(A...)&gt; &amp;fun)</td></tr>
  168. <tr class="separator:a983092513bfded87189613f8dc27ebbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:a9a121cbb3ba2b4fb7ee8b2c12472ab51"><td class="memTemplParams" colspan="2">template&lt;typename R , typename... A&gt; </td></tr>
  170. <tr class="memitem:a9a121cbb3ba2b4fb7ee8b2c12472ab51"><td class="memTemplItemLeft" align="right" valign="top">static R&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a9a121cbb3ba2b4fb7ee8b2c12472ab51">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::function&lt; R(A...)&gt; &amp;fun)</td></tr>
  171. <tr class="separator:a9a121cbb3ba2b4fb7ee8b2c12472ab51"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memTemplParams" colspan="2">template&lt;typename S , typename F , typename... A&gt; </td></tr>
  173. <tr class="memitem:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memTemplItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a9f24fc70cb48531cf1e3da6a3a741971">map</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, F &amp;&amp;hook, A &amp;&amp;...args)</td></tr>
  174. <tr class="separator:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a6dc1624dc2f382d10651768a89788204"><td class="memTemplParams" colspan="2">template&lt;typename S , typename F , typename... A&gt; </td></tr>
  176. <tr class="memitem:a6dc1624dc2f382d10651768a89788204"><td class="memTemplItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a6dc1624dc2f382d10651768a89788204">map</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, F &amp;&amp;hook, A &amp;&amp;...args)</td></tr>
  177. <tr class="separator:a6dc1624dc2f382d10651768a89788204"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:ae8e7eab11fc2cf3f258ffd81571066fa"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  179. <tr class="memitem:ae8e7eab11fc2cf3f258ffd81571066fa"><td class="memTemplItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ae8e7eab11fc2cf3f258ffd81571066fa">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T value)</td></tr>
  180. <tr class="separator:ae8e7eab11fc2cf3f258ffd81571066fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:a083af86d9ec488ddd0dee8c4cf0acdff"><td class="memTemplParams" colspan="2">template&lt;typename T1 , typename T2 , typename... TR&gt; </td></tr>
  182. <tr class="memitem:a083af86d9ec488ddd0dee8c4cf0acdff"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a083af86d9ec488ddd0dee8c4cf0acdff">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T1 value, T2 &amp;&amp;head, TR &amp;&amp;...rest)</td></tr>
  183. <tr class="separator:a083af86d9ec488ddd0dee8c4cf0acdff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  185. <tr class="memitem:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memTemplItemLeft" align="right" valign="top">static T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a4fe4e574680cf54a0f8d958740eb90ab">read</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index)</td></tr>
  186. <tr class="separator:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memTemplParams" colspan="2">template&lt;typename U , typename... A&gt; </td></tr>
  188. <tr class="memitem:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memTemplItemLeft" align="right" valign="top">static internal::StripUserType&lt; U &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#af079dcca8e67d88e5cfdc7e8872cf5d7">construct</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, A &amp;&amp;...args)</td></tr>
  189. <tr class="separator:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:a0a744cd63bf0d4f611a62b8a56df714e"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
  191. <tr class="memitem:a0a744cd63bf0d4f611a62b8a56df714e"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a0a744cd63bf0d4f611a62b8a56df714e">registerUserType</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;methods=<a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>(), const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;meta_methods=<a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>())</td></tr>
  192. <tr class="separator:a0a744cd63bf0d4f611a62b8a56df714e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:aae6f45ae03c3bd91321ea19f794cae18"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  194. <tr class="memitem:aae6f45ae03c3bd91321ea19f794cae18"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#aae6f45ae03c3bd91321ea19f794cae18">registerUserType</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::string &amp;ctor_name, const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;methods=<a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>(), const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;meta_methods=<a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>())</td></tr>
  195. <tr class="separator:aae6f45ae03c3bd91321ea19f794cae18"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. </table>
  197. <h2 class="groupheader">Typedef Documentation</h2>
  198. <a class="anchor" id="a4e313d0af10393323fa280848c3888a1"></a>
  199. <div class="memitem">
  200. <div class="memproto">
  201. <table class="memname">
  202. <tr>
  203. <td class="memname">using <a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">luwra::CFunction</a> = typedef lua_CFunction</td>
  204. </tr>
  205. </table>
  206. </div><div class="memdoc">
  207. </div>
  208. </div>
  209. <a class="anchor" id="ac090722c6d5d6b88b31895aad64788c2"></a>
  210. <div class="memitem">
  211. <div class="memproto">
  212. <table class="memname">
  213. <tr>
  214. <td class="memname">using <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">luwra::FieldVector</a> = typedef std::vector&lt;std::pair&lt;<a class="el" href="structluwra_1_1Pushable.html">Pushable</a>, <a class="el" href="structluwra_1_1Pushable.html">Pushable</a>&gt;&gt;</td>
  215. </tr>
  216. </table>
  217. </div><div class="memdoc">
  218. <p>A collection of key-value pairs. </p>
  219. </div>
  220. </div>
  221. <a class="anchor" id="afd2d98882f58f8b2afdb49c3ada78659"></a>
  222. <div class="memitem">
  223. <div class="memproto">
  224. <table class="memname">
  225. <tr>
  226. <td class="memname">using <a class="el" href="namespaceluwra.html#afd2d98882f58f8b2afdb49c3ada78659">luwra::Integer</a> = typedef lua_Integer</td>
  227. </tr>
  228. </table>
  229. </div><div class="memdoc">
  230. </div>
  231. </div>
  232. <a class="anchor" id="a6dc0acb148bf26f49b0b27d6cad9bfe1"></a>
  233. <div class="memitem">
  234. <div class="memproto">
  235. <table class="memname">
  236. <tr>
  237. <td class="memname">using <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">luwra::MemberMap</a> = typedef std::map&lt;std::string, <a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">CFunction</a>&gt;</td>
  238. </tr>
  239. </table>
  240. </div><div class="memdoc">
  241. </div>
  242. </div>
  243. <a class="anchor" id="ae4dc6c1079fe75220ee055a00a49a3c1"></a>
  244. <div class="memitem">
  245. <div class="memproto">
  246. <table class="memname">
  247. <tr>
  248. <td class="memname">using <a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">luwra::Number</a> = typedef lua_Number</td>
  249. </tr>
  250. </table>
  251. </div><div class="memdoc">
  252. </div>
  253. </div>
  254. <a class="anchor" id="a2c037b44385367826eb4e931b5b8197d"></a>
  255. <div class="memitem">
  256. <div class="memproto">
  257. <table class="memname">
  258. <tr>
  259. <td class="memname">using <a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">luwra::State</a> = typedef lua_State</td>
  260. </tr>
  261. </table>
  262. </div><div class="memdoc">
  263. </div>
  264. </div>
  265. <h2 class="groupheader">Function Documentation</h2>
  266. <a class="anchor" id="a839077ddd9c3d0565a40c574bc8e9555"></a>
  267. <div class="memitem">
  268. <div class="memproto">
  269. <div class="memtemplate">
  270. template&lt;typename R , typename... A&gt; </div>
  271. <table class="mlabels">
  272. <tr>
  273. <td class="mlabels-left">
  274. <table class="memname">
  275. <tr>
  276. <td class="memname">static R luwra::apply </td>
  277. <td>(</td>
  278. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  279. <td class="paramname"><em>state</em>, </td>
  280. </tr>
  281. <tr>
  282. <td class="paramkey"></td>
  283. <td></td>
  284. <td class="paramtype">int&#160;</td>
  285. <td class="paramname"><em>pos</em>, </td>
  286. </tr>
  287. <tr>
  288. <td class="paramkey"></td>
  289. <td></td>
  290. <td class="paramtype">R(*)(A...)&#160;</td>
  291. <td class="paramname"><em>fun</em>&#160;</td>
  292. </tr>
  293. <tr>
  294. <td></td>
  295. <td>)</td>
  296. <td></td><td></td>
  297. </tr>
  298. </table>
  299. </td>
  300. <td class="mlabels-right">
  301. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  302. </tr>
  303. </table>
  304. </div><div class="memdoc">
  305. <p>Synonym for <a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> with a function pointer which lets you omit all template parameters. The stack layout will be inferred using the signature of the given function pointer. </p>
  306. </div>
  307. </div>
  308. <a class="anchor" id="ae5412e502815db7aa2a10e6c84394457"></a>
  309. <div class="memitem">
  310. <div class="memproto">
  311. <div class="memtemplate">
  312. template&lt;typename R , typename... A&gt; </div>
  313. <table class="mlabels">
  314. <tr>
  315. <td class="mlabels-left">
  316. <table class="memname">
  317. <tr>
  318. <td class="memname">static R luwra::apply </td>
  319. <td>(</td>
  320. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  321. <td class="paramname"><em>state</em>, </td>
  322. </tr>
  323. <tr>
  324. <td class="paramkey"></td>
  325. <td></td>
  326. <td class="paramtype">R(*)(A...)&#160;</td>
  327. <td class="paramname"><em>fun</em>&#160;</td>
  328. </tr>
  329. <tr>
  330. <td></td>
  331. <td>)</td>
  332. <td></td><td></td>
  333. </tr>
  334. </table>
  335. </td>
  336. <td class="mlabels-right">
  337. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  338. </tr>
  339. </table>
  340. </div><div class="memdoc">
  341. <p>Same as <code>apply(state, 1, fun)</code>. </p>
  342. </div>
  343. </div>
  344. <a class="anchor" id="a983092513bfded87189613f8dc27ebbe"></a>
  345. <div class="memitem">
  346. <div class="memproto">
  347. <div class="memtemplate">
  348. template&lt;typename R , typename... A&gt; </div>
  349. <table class="mlabels">
  350. <tr>
  351. <td class="mlabels-left">
  352. <table class="memname">
  353. <tr>
  354. <td class="memname">static R luwra::apply </td>
  355. <td>(</td>
  356. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  357. <td class="paramname"><em>state</em>, </td>
  358. </tr>
  359. <tr>
  360. <td class="paramkey"></td>
  361. <td></td>
  362. <td class="paramtype">int&#160;</td>
  363. <td class="paramname"><em>pos</em>, </td>
  364. </tr>
  365. <tr>
  366. <td class="paramkey"></td>
  367. <td></td>
  368. <td class="paramtype">const std::function&lt; R(A...)&gt; &amp;&#160;</td>
  369. <td class="paramname"><em>fun</em>&#160;</td>
  370. </tr>
  371. <tr>
  372. <td></td>
  373. <td>)</td>
  374. <td></td><td></td>
  375. </tr>
  376. </table>
  377. </td>
  378. <td class="mlabels-right">
  379. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  380. </tr>
  381. </table>
  382. </div><div class="memdoc">
  383. <p>Synonym for <a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> with a function object which lets you omit all template parameters. The stack layout will be inferred using the template parameter to your <code>std::function</code> object. </p>
  384. </div>
  385. </div>
  386. <a class="anchor" id="a9a121cbb3ba2b4fb7ee8b2c12472ab51"></a>
  387. <div class="memitem">
  388. <div class="memproto">
  389. <div class="memtemplate">
  390. template&lt;typename R , typename... A&gt; </div>
  391. <table class="mlabels">
  392. <tr>
  393. <td class="mlabels-left">
  394. <table class="memname">
  395. <tr>
  396. <td class="memname">static R luwra::apply </td>
  397. <td>(</td>
  398. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  399. <td class="paramname"><em>state</em>, </td>
  400. </tr>
  401. <tr>
  402. <td class="paramkey"></td>
  403. <td></td>
  404. <td class="paramtype">const std::function&lt; R(A...)&gt; &amp;&#160;</td>
  405. <td class="paramname"><em>fun</em>&#160;</td>
  406. </tr>
  407. <tr>
  408. <td></td>
  409. <td>)</td>
  410. <td></td><td></td>
  411. </tr>
  412. </table>
  413. </td>
  414. <td class="mlabels-right">
  415. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  416. </tr>
  417. </table>
  418. </div><div class="memdoc">
  419. <p>Same as <code>apply(state, 1, fun)</code>. </p>
  420. </div>
  421. </div>
  422. <a class="anchor" id="af079dcca8e67d88e5cfdc7e8872cf5d7"></a>
  423. <div class="memitem">
  424. <div class="memproto">
  425. <div class="memtemplate">
  426. template&lt;typename U , typename... A&gt; </div>
  427. <table class="mlabels">
  428. <tr>
  429. <td class="mlabels-left">
  430. <table class="memname">
  431. <tr>
  432. <td class="memname">static internal::StripUserType&lt;U&gt;&amp; luwra::construct </td>
  433. <td>(</td>
  434. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  435. <td class="paramname"><em>state</em>, </td>
  436. </tr>
  437. <tr>
  438. <td class="paramkey"></td>
  439. <td></td>
  440. <td class="paramtype">A &amp;&amp;...&#160;</td>
  441. <td class="paramname"><em>args</em>&#160;</td>
  442. </tr>
  443. <tr>
  444. <td></td>
  445. <td>)</td>
  446. <td></td><td></td>
  447. </tr>
  448. </table>
  449. </td>
  450. <td class="mlabels-right">
  451. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  452. </tr>
  453. </table>
  454. </div><div class="memdoc">
  455. <p>Construct a user type value on the stack. </p><dl class="section note"><dt>Note</dt><dd>Instances created using this specialization are allocated and constructed as full user data types in Lua. The default garbage-collecting hook will destruct the user type, once it has been marked. </dd></dl>
  456. <dl class="params"><dt>Parameters</dt><dd>
  457. <table class="params">
  458. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  459. <tr><td class="paramname">args</td><td>Constructor arguments </td></tr>
  460. </table>
  461. </dd>
  462. </dl>
  463. <dl class="section return"><dt>Returns</dt><dd>Reference to the constructed value </dd></dl>
  464. </div>
  465. </div>
  466. <a class="anchor" id="aa20e363f38b3ae5a168cf40365f5646a"></a>
  467. <div class="memitem">
  468. <div class="memproto">
  469. <div class="memtemplate">
  470. template&lt;typename S , typename F , typename... X&gt; </div>
  471. <table class="mlabels">
  472. <tr>
  473. <td class="mlabels-left">
  474. <table class="memname">
  475. <tr>
  476. <td class="memname">static internal::Layout&lt;S&gt;::ReturnType luwra::direct </td>
  477. <td>(</td>
  478. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  479. <td class="paramname"><em>state</em>, </td>
  480. </tr>
  481. <tr>
  482. <td class="paramkey"></td>
  483. <td></td>
  484. <td class="paramtype">int&#160;</td>
  485. <td class="paramname"><em>pos</em>, </td>
  486. </tr>
  487. <tr>
  488. <td class="paramkey"></td>
  489. <td></td>
  490. <td class="paramtype">F &amp;&amp;&#160;</td>
  491. <td class="paramname"><em>hook</em>, </td>
  492. </tr>
  493. <tr>
  494. <td class="paramkey"></td>
  495. <td></td>
  496. <td class="paramtype">X &amp;&amp;...&#160;</td>
  497. <td class="paramname"><em>args</em>&#160;</td>
  498. </tr>
  499. <tr>
  500. <td></td>
  501. <td>)</td>
  502. <td></td><td></td>
  503. </tr>
  504. </table>
  505. </td>
  506. <td class="mlabels-right">
  507. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  508. </tr>
  509. </table>
  510. </div><div class="memdoc">
  511. <p>Retrieve values from the stack and invoke a <code>Callable</code> with them.</p>
  512. <dl class="tparams"><dt>Template Parameters</dt><dd>
  513. <table class="tparams">
  514. <tr><td class="paramname">S</td><td>Signature in the form of <code>R(A...)</code> where <code>A</code> is a sequence of types, which shall be retrieved from the stack, and <code>R</code> the return type of <code>hook</code> </td></tr>
  515. <tr><td class="paramname">F</td><td>An instance of <code>Callable</code> which accepts parameters <code>X..., A...</code> and returns <code>R</code> (this parameter should be inferable and can be omitted) </td></tr>
  516. <tr><td class="paramname">X</td><td>Extra argument types</td></tr>
  517. </table>
  518. </dd>
  519. </dl>
  520. <dl class="params"><dt>Parameters</dt><dd>
  521. <table class="params">
  522. <tr><td class="paramname">state</td><td>Lua state instance </td></tr>
  523. <tr><td class="paramname">pos</td><td>Index of the first value </td></tr>
  524. <tr><td class="paramname">hook</td><td>Callable value </td></tr>
  525. <tr><td class="paramname">args</td><td>Extra arguments which shall be be passed to <code>hook</code> before the stack values</td></tr>
  526. </table>
  527. </dd>
  528. </dl>
  529. <dl class="section return"><dt>Returns</dt><dd>Result of calling <code>hook</code> </dd></dl>
  530. </div>
  531. </div>
  532. <a class="anchor" id="a037ab066fd6d547c57a912ffe7e5edd9"></a>
  533. <div class="memitem">
  534. <div class="memproto">
  535. <div class="memtemplate">
  536. template&lt;typename S , typename F , typename... A&gt; </div>
  537. <table class="mlabels">
  538. <tr>
  539. <td class="mlabels-left">
  540. <table class="memname">
  541. <tr>
  542. <td class="memname">static internal::Layout&lt;S&gt;::ReturnType luwra::direct </td>
  543. <td>(</td>
  544. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  545. <td class="paramname"><em>state</em>, </td>
  546. </tr>
  547. <tr>
  548. <td class="paramkey"></td>
  549. <td></td>
  550. <td class="paramtype">F &amp;&amp;&#160;</td>
  551. <td class="paramname"><em>hook</em>, </td>
  552. </tr>
  553. <tr>
  554. <td class="paramkey"></td>
  555. <td></td>
  556. <td class="paramtype">A &amp;&amp;...&#160;</td>
  557. <td class="paramname"><em>args</em>&#160;</td>
  558. </tr>
  559. <tr>
  560. <td></td>
  561. <td>)</td>
  562. <td></td><td></td>
  563. </tr>
  564. </table>
  565. </td>
  566. <td class="mlabels-right">
  567. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  568. </tr>
  569. </table>
  570. </div><div class="memdoc">
  571. <p>Same as <code>direct(state, 1, hook)</code>. </p>
  572. </div>
  573. </div>
  574. <a class="anchor" id="a7814014b3adfbb6899255f120e70af26"></a>
  575. <div class="memitem">
  576. <div class="memproto">
  577. <table class="mlabels">
  578. <tr>
  579. <td class="mlabels-left">
  580. <table class="memname">
  581. <tr>
  582. <td class="memname">static bool luwra::equal </td>
  583. <td>(</td>
  584. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  585. <td class="paramname"><em>state</em>, </td>
  586. </tr>
  587. <tr>
  588. <td class="paramkey"></td>
  589. <td></td>
  590. <td class="paramtype">int&#160;</td>
  591. <td class="paramname"><em>index1</em>, </td>
  592. </tr>
  593. <tr>
  594. <td class="paramkey"></td>
  595. <td></td>
  596. <td class="paramtype">int&#160;</td>
  597. <td class="paramname"><em>index2</em>&#160;</td>
  598. </tr>
  599. <tr>
  600. <td></td>
  601. <td>)</td>
  602. <td></td><td></td>
  603. </tr>
  604. </table>
  605. </td>
  606. <td class="mlabels-right">
  607. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  608. </tr>
  609. </table>
  610. </div><div class="memdoc">
  611. <p>Check if two values are equal. </p><dl class="params"><dt>Parameters</dt><dd>
  612. <table class="params">
  613. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  614. <tr><td class="paramname">index1</td><td>Index of left-hand side value </td></tr>
  615. <tr><td class="paramname">index2</td><td>Index of right-hand side value </td></tr>
  616. </table>
  617. </dd>
  618. </dl>
  619. </div>
  620. </div>
  621. <a class="anchor" id="a06cabc81163602ec1fd8f580944f5b86"></a>
  622. <div class="memitem">
  623. <div class="memproto">
  624. <div class="memtemplate">
  625. template&lt;typename V , typename K &gt; </div>
  626. <table class="mlabels">
  627. <tr>
  628. <td class="mlabels-left">
  629. <table class="memname">
  630. <tr>
  631. <td class="memname">static V luwra::getField </td>
  632. <td>(</td>
  633. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  634. <td class="paramname"><em>state</em>, </td>
  635. </tr>
  636. <tr>
  637. <td class="paramkey"></td>
  638. <td></td>
  639. <td class="paramtype">int&#160;</td>
  640. <td class="paramname"><em>index</em>, </td>
  641. </tr>
  642. <tr>
  643. <td class="paramkey"></td>
  644. <td></td>
  645. <td class="paramtype">K&#160;</td>
  646. <td class="paramname"><em>key</em>&#160;</td>
  647. </tr>
  648. <tr>
  649. <td></td>
  650. <td>)</td>
  651. <td></td><td></td>
  652. </tr>
  653. </table>
  654. </td>
  655. <td class="mlabels-right">
  656. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  657. </tr>
  658. </table>
  659. </div><div class="memdoc">
  660. <p>Retrieve a field from a table. </p>
  661. </div>
  662. </div>
  663. <a class="anchor" id="af0a7dbbbdb339227c6ecaaa46422e05b"></a>
  664. <div class="memitem">
  665. <div class="memproto">
  666. <div class="memtemplate">
  667. template&lt;typename V &gt; </div>
  668. <table class="mlabels">
  669. <tr>
  670. <td class="mlabels-left">
  671. <table class="memname">
  672. <tr>
  673. <td class="memname">static V luwra::getGlobal </td>
  674. <td>(</td>
  675. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  676. <td class="paramname"><em>state</em>, </td>
  677. </tr>
  678. <tr>
  679. <td class="paramkey"></td>
  680. <td></td>
  681. <td class="paramtype">const std::string &amp;&#160;</td>
  682. <td class="paramname"><em>name</em>&#160;</td>
  683. </tr>
  684. <tr>
  685. <td></td>
  686. <td>)</td>
  687. <td></td><td></td>
  688. </tr>
  689. </table>
  690. </td>
  691. <td class="mlabels-right">
  692. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  693. </tr>
  694. </table>
  695. </div><div class="memdoc">
  696. <p>Retrieve a global value. </p><dl class="params"><dt>Parameters</dt><dd>
  697. <table class="params">
  698. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  699. <tr><td class="paramname">name</td><td>Global name </td></tr>
  700. </table>
  701. </dd>
  702. </dl>
  703. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structluwra_1_1Value.html">Value</a> associated with the given name </dd></dl>
  704. </div>
  705. </div>
  706. <a class="anchor" id="a9f24fc70cb48531cf1e3da6a3a741971"></a>
  707. <div class="memitem">
  708. <div class="memproto">
  709. <div class="memtemplate">
  710. template&lt;typename S , typename F , typename... A&gt; </div>
  711. <table class="mlabels">
  712. <tr>
  713. <td class="mlabels-left">
  714. <table class="memname">
  715. <tr>
  716. <td class="memname">static size_t luwra::map </td>
  717. <td>(</td>
  718. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  719. <td class="paramname"><em>state</em>, </td>
  720. </tr>
  721. <tr>
  722. <td class="paramkey"></td>
  723. <td></td>
  724. <td class="paramtype">int&#160;</td>
  725. <td class="paramname"><em>pos</em>, </td>
  726. </tr>
  727. <tr>
  728. <td class="paramkey"></td>
  729. <td></td>
  730. <td class="paramtype">F &amp;&amp;&#160;</td>
  731. <td class="paramname"><em>hook</em>, </td>
  732. </tr>
  733. <tr>
  734. <td class="paramkey"></td>
  735. <td></td>
  736. <td class="paramtype">A &amp;&amp;...&#160;</td>
  737. <td class="paramname"><em>args</em>&#160;</td>
  738. </tr>
  739. <tr>
  740. <td></td>
  741. <td>)</td>
  742. <td></td><td></td>
  743. </tr>
  744. </table>
  745. </td>
  746. <td class="mlabels-right">
  747. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  748. </tr>
  749. </table>
  750. </div><div class="memdoc">
  751. <p>Similiar to <a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> but pushes the result of the given <code>Callable</code> onto the stack. </p><dl class="section return"><dt>Returns</dt><dd>Number of values pushed </dd></dl>
  752. </div>
  753. </div>
  754. <a class="anchor" id="a6dc1624dc2f382d10651768a89788204"></a>
  755. <div class="memitem">
  756. <div class="memproto">
  757. <div class="memtemplate">
  758. template&lt;typename S , typename F , typename... A&gt; </div>
  759. <table class="mlabels">
  760. <tr>
  761. <td class="mlabels-left">
  762. <table class="memname">
  763. <tr>
  764. <td class="memname">static size_t luwra::map </td>
  765. <td>(</td>
  766. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  767. <td class="paramname"><em>state</em>, </td>
  768. </tr>
  769. <tr>
  770. <td class="paramkey"></td>
  771. <td></td>
  772. <td class="paramtype">F &amp;&amp;&#160;</td>
  773. <td class="paramname"><em>hook</em>, </td>
  774. </tr>
  775. <tr>
  776. <td class="paramkey"></td>
  777. <td></td>
  778. <td class="paramtype">A &amp;&amp;...&#160;</td>
  779. <td class="paramname"><em>args</em>&#160;</td>
  780. </tr>
  781. <tr>
  782. <td></td>
  783. <td>)</td>
  784. <td></td><td></td>
  785. </tr>
  786. </table>
  787. </td>
  788. <td class="mlabels-right">
  789. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  790. </tr>
  791. </table>
  792. </div><div class="memdoc">
  793. <p>Same as <code>map(state, 1, hook)</code>. </p>
  794. </div>
  795. </div>
  796. <a class="anchor" id="ae8e7eab11fc2cf3f258ffd81571066fa"></a>
  797. <div class="memitem">
  798. <div class="memproto">
  799. <div class="memtemplate">
  800. template&lt;typename T &gt; </div>
  801. <table class="mlabels">
  802. <tr>
  803. <td class="mlabels-left">
  804. <table class="memname">
  805. <tr>
  806. <td class="memname">static size_t luwra::push </td>
  807. <td>(</td>
  808. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  809. <td class="paramname"><em>state</em>, </td>
  810. </tr>
  811. <tr>
  812. <td class="paramkey"></td>
  813. <td></td>
  814. <td class="paramtype">T&#160;</td>
  815. <td class="paramname"><em>value</em>&#160;</td>
  816. </tr>
  817. <tr>
  818. <td></td>
  819. <td>)</td>
  820. <td></td><td></td>
  821. </tr>
  822. </table>
  823. </td>
  824. <td class="mlabels-right">
  825. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  826. </tr>
  827. </table>
  828. </div><div class="memdoc">
  829. <p>Convenient wrapped for <a class="el" href="structluwra_1_1Value.html#aa376d68285606c206562b822e8187384">Value&lt;T&gt;::push</a>. </p>
  830. </div>
  831. </div>
  832. <a class="anchor" id="a083af86d9ec488ddd0dee8c4cf0acdff"></a>
  833. <div class="memitem">
  834. <div class="memproto">
  835. <div class="memtemplate">
  836. template&lt;typename T1 , typename T2 , typename... TR&gt; </div>
  837. <table class="memname">
  838. <tr>
  839. <td class="memname">size_t luwra::push </td>
  840. <td>(</td>
  841. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  842. <td class="paramname"><em>state</em>, </td>
  843. </tr>
  844. <tr>
  845. <td class="paramkey"></td>
  846. <td></td>
  847. <td class="paramtype">T1&#160;</td>
  848. <td class="paramname"><em>value</em>, </td>
  849. </tr>
  850. <tr>
  851. <td class="paramkey"></td>
  852. <td></td>
  853. <td class="paramtype">T2 &amp;&amp;&#160;</td>
  854. <td class="paramname"><em>head</em>, </td>
  855. </tr>
  856. <tr>
  857. <td class="paramkey"></td>
  858. <td></td>
  859. <td class="paramtype">TR &amp;&amp;...&#160;</td>
  860. <td class="paramname"><em>rest</em>&#160;</td>
  861. </tr>
  862. <tr>
  863. <td></td>
  864. <td>)</td>
  865. <td></td><td></td>
  866. </tr>
  867. </table>
  868. </div><div class="memdoc">
  869. <p>Allows you to push multiple values at once. </p>
  870. </div>
  871. </div>
  872. <a class="anchor" id="a4fe4e574680cf54a0f8d958740eb90ab"></a>
  873. <div class="memitem">
  874. <div class="memproto">
  875. <div class="memtemplate">
  876. template&lt;typename T &gt; </div>
  877. <table class="mlabels">
  878. <tr>
  879. <td class="mlabels-left">
  880. <table class="memname">
  881. <tr>
  882. <td class="memname">static T luwra::read </td>
  883. <td>(</td>
  884. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  885. <td class="paramname"><em>state</em>, </td>
  886. </tr>
  887. <tr>
  888. <td class="paramkey"></td>
  889. <td></td>
  890. <td class="paramtype">int&#160;</td>
  891. <td class="paramname"><em>index</em>&#160;</td>
  892. </tr>
  893. <tr>
  894. <td></td>
  895. <td>)</td>
  896. <td></td><td></td>
  897. </tr>
  898. </table>
  899. </td>
  900. <td class="mlabels-right">
  901. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  902. </tr>
  903. </table>
  904. </div><div class="memdoc">
  905. <p>Convenient wrapper for <a class="el" href="structluwra_1_1Value.html#a41e193fdb55028189fe8ca5e503efcfa">Value&lt;T&gt;::read</a>. </p>
  906. </div>
  907. </div>
  908. <a class="anchor" id="a0a744cd63bf0d4f611a62b8a56df714e"></a>
  909. <div class="memitem">
  910. <div class="memproto">
  911. <div class="memtemplate">
  912. template&lt;typename U &gt; </div>
  913. <table class="mlabels">
  914. <tr>
  915. <td class="mlabels-left">
  916. <table class="memname">
  917. <tr>
  918. <td class="memname">static void luwra::registerUserType </td>
  919. <td>(</td>
  920. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  921. <td class="paramname"><em>state</em>, </td>
  922. </tr>
  923. <tr>
  924. <td class="paramkey"></td>
  925. <td></td>
  926. <td class="paramtype">const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;&#160;</td>
  927. <td class="paramname"><em>methods</em> = <code><a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>()</code>, </td>
  928. </tr>
  929. <tr>
  930. <td class="paramkey"></td>
  931. <td></td>
  932. <td class="paramtype">const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;&#160;</td>
  933. <td class="paramname"><em>meta_methods</em> = <code><a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>()</code>&#160;</td>
  934. </tr>
  935. <tr>
  936. <td></td>
  937. <td>)</td>
  938. <td></td><td></td>
  939. </tr>
  940. </table>
  941. </td>
  942. <td class="mlabels-right">
  943. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  944. </tr>
  945. </table>
  946. </div><div class="memdoc">
  947. <p>Register the metatable for user type <code>T</code>. This function allows you to register methods which are shared across all instances of this type.</p>
  948. <p>By default a garbage-collector hook and string representation function are added as meta methods. Both can be overwritten.</p>
  949. <dl class="tparams"><dt>Template Parameters</dt><dd>
  950. <table class="tparams">
  951. <tr><td class="paramname">U</td><td>User type struct or class</td></tr>
  952. </table>
  953. </dd>
  954. </dl>
  955. <dl class="params"><dt>Parameters</dt><dd>
  956. <table class="params">
  957. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  958. <tr><td class="paramname">methods</td><td>Map of methods </td></tr>
  959. <tr><td class="paramname">meta_methods</td><td>Map of meta methods </td></tr>
  960. </table>
  961. </dd>
  962. </dl>
  963. </div>
  964. </div>
  965. <a class="anchor" id="aae6f45ae03c3bd91321ea19f794cae18"></a>
  966. <div class="memitem">
  967. <div class="memproto">
  968. <div class="memtemplate">
  969. template&lt;typename T &gt; </div>
  970. <table class="mlabels">
  971. <tr>
  972. <td class="mlabels-left">
  973. <table class="memname">
  974. <tr>
  975. <td class="memname">static void luwra::registerUserType </td>
  976. <td>(</td>
  977. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  978. <td class="paramname"><em>state</em>, </td>
  979. </tr>
  980. <tr>
  981. <td class="paramkey"></td>
  982. <td></td>
  983. <td class="paramtype">const std::string &amp;&#160;</td>
  984. <td class="paramname"><em>ctor_name</em>, </td>
  985. </tr>
  986. <tr>
  987. <td class="paramkey"></td>
  988. <td></td>
  989. <td class="paramtype">const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;&#160;</td>
  990. <td class="paramname"><em>methods</em> = <code><a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>()</code>, </td>
  991. </tr>
  992. <tr>
  993. <td class="paramkey"></td>
  994. <td></td>
  995. <td class="paramtype">const <a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a> &amp;&#160;</td>
  996. <td class="paramname"><em>meta_methods</em> = <code><a class="el" href="namespaceluwra.html#a6dc0acb148bf26f49b0b27d6cad9bfe1">MemberMap</a>()</code>&#160;</td>
  997. </tr>
  998. <tr>
  999. <td></td>
  1000. <td>)</td>
  1001. <td></td><td></td>
  1002. </tr>
  1003. </table>
  1004. </td>
  1005. <td class="mlabels-right">
  1006. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1007. </tr>
  1008. </table>
  1009. </div><div class="memdoc">
  1010. <p>Same as the other <code>registerUserType</code> but registers the construtor as well. The template parameter is a signature <code>U(A...)</code> where <code>U</code> is the user type and <code>A...</code> its constructor parameters. </p>
  1011. </div>
  1012. </div>
  1013. <a class="anchor" id="a1d630ce9ae9b10af33624f70dde4b148"></a>
  1014. <div class="memitem">
  1015. <div class="memproto">
  1016. <div class="memtemplate">
  1017. template&lt;typename... R&gt; </div>
  1018. <table class="mlabels">
  1019. <tr>
  1020. <td class="mlabels-left">
  1021. <table class="memname">
  1022. <tr>
  1023. <td class="memname">static void luwra::setFields </td>
  1024. <td>(</td>
  1025. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1026. <td class="paramname"><em>state</em>, </td>
  1027. </tr>
  1028. <tr>
  1029. <td class="paramkey"></td>
  1030. <td></td>
  1031. <td class="paramtype">int&#160;</td>
  1032. <td class="paramname"><em>index</em>, </td>
  1033. </tr>
  1034. <tr>
  1035. <td class="paramkey"></td>
  1036. <td></td>
  1037. <td class="paramtype">R &amp;&amp;...&#160;</td>
  1038. <td class="paramname"><em>args</em>&#160;</td>
  1039. </tr>
  1040. <tr>
  1041. <td></td>
  1042. <td>)</td>
  1043. <td></td><td></td>
  1044. </tr>
  1045. </table>
  1046. </td>
  1047. <td class="mlabels-right">
  1048. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1049. </tr>
  1050. </table>
  1051. </div><div class="memdoc">
  1052. <p>Set multiple fields at once. Allows you to provide multiple key-value pairs. </p><dl class="params"><dt>Parameters</dt><dd>
  1053. <table class="params">
  1054. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1055. <tr><td class="paramname">index</td><td>Table index </td></tr>
  1056. <tr><td class="paramname">args</td><td>Key-value pairs </td></tr>
  1057. </table>
  1058. </dd>
  1059. </dl>
  1060. </div>
  1061. </div>
  1062. <a class="anchor" id="a00729c47fba6114115f2e3f32c21f0b8"></a>
  1063. <div class="memitem">
  1064. <div class="memproto">
  1065. <table class="mlabels">
  1066. <tr>
  1067. <td class="mlabels-left">
  1068. <table class="memname">
  1069. <tr>
  1070. <td class="memname">static void luwra::setFields </td>
  1071. <td>(</td>
  1072. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1073. <td class="paramname"><em>state</em>, </td>
  1074. </tr>
  1075. <tr>
  1076. <td class="paramkey"></td>
  1077. <td></td>
  1078. <td class="paramtype">int&#160;</td>
  1079. <td class="paramname"><em>index</em>, </td>
  1080. </tr>
  1081. <tr>
  1082. <td class="paramkey"></td>
  1083. <td></td>
  1084. <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
  1085. <td class="paramname"><em>fields</em>&#160;</td>
  1086. </tr>
  1087. <tr>
  1088. <td></td>
  1089. <td>)</td>
  1090. <td></td><td></td>
  1091. </tr>
  1092. </table>
  1093. </td>
  1094. <td class="mlabels-right">
  1095. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1096. </tr>
  1097. </table>
  1098. </div><div class="memdoc">
  1099. <p>Apply key-value pairs to a table. </p><dl class="params"><dt>Parameters</dt><dd>
  1100. <table class="params">
  1101. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1102. <tr><td class="paramname">index</td><td>Table index </td></tr>
  1103. <tr><td class="paramname">fields</td><td>Table fields </td></tr>
  1104. </table>
  1105. </dd>
  1106. </dl>
  1107. </div>
  1108. </div>
  1109. <a class="anchor" id="afed27900ff117638937ad92e0217258d"></a>
  1110. <div class="memitem">
  1111. <div class="memproto">
  1112. <div class="memtemplate">
  1113. template&lt;typename V &gt; </div>
  1114. <table class="mlabels">
  1115. <tr>
  1116. <td class="mlabels-left">
  1117. <table class="memname">
  1118. <tr>
  1119. <td class="memname">static void luwra::setGlobal </td>
  1120. <td>(</td>
  1121. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1122. <td class="paramname"><em>state</em>, </td>
  1123. </tr>
  1124. <tr>
  1125. <td class="paramkey"></td>
  1126. <td></td>
  1127. <td class="paramtype">const std::string &amp;&#160;</td>
  1128. <td class="paramname"><em>name</em>, </td>
  1129. </tr>
  1130. <tr>
  1131. <td class="paramkey"></td>
  1132. <td></td>
  1133. <td class="paramtype">V&#160;</td>
  1134. <td class="paramname"><em>value</em>&#160;</td>
  1135. </tr>
  1136. <tr>
  1137. <td></td>
  1138. <td>)</td>
  1139. <td></td><td></td>
  1140. </tr>
  1141. </table>
  1142. </td>
  1143. <td class="mlabels-right">
  1144. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1145. </tr>
  1146. </table>
  1147. </div><div class="memdoc">
  1148. <p>Register a value as a global. </p><dl class="params"><dt>Parameters</dt><dd>
  1149. <table class="params">
  1150. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1151. <tr><td class="paramname">name</td><td>Global name </td></tr>
  1152. <tr><td class="paramname">value</td><td>Global value </td></tr>
  1153. </table>
  1154. </dd>
  1155. </dl>
  1156. </div>
  1157. </div>
  1158. <a class="anchor" id="a7a73f160e82f91ae974ea33c72248c35"></a>
  1159. <div class="memitem">
  1160. <div class="memproto">
  1161. <table class="mlabels">
  1162. <tr>
  1163. <td class="mlabels-left">
  1164. <table class="memname">
  1165. <tr>
  1166. <td class="memname">static void luwra::setMetatable </td>
  1167. <td>(</td>
  1168. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1169. <td class="paramname"><em>state</em>, </td>
  1170. </tr>
  1171. <tr>
  1172. <td class="paramkey"></td>
  1173. <td></td>
  1174. <td class="paramtype">const char *&#160;</td>
  1175. <td class="paramname"><em>name</em>&#160;</td>
  1176. </tr>
  1177. <tr>
  1178. <td></td>
  1179. <td>)</td>
  1180. <td></td><td></td>
  1181. </tr>
  1182. </table>
  1183. </td>
  1184. <td class="mlabels-right">
  1185. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1186. </tr>
  1187. </table>
  1188. </div><div class="memdoc">
  1189. <p>Set a registered metatable for the value on top of the stack. </p><dl class="params"><dt>Parameters</dt><dd>
  1190. <table class="params">
  1191. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1192. <tr><td class="paramname">name</td><td>Metatable name </td></tr>
  1193. </table>
  1194. </dd>
  1195. </dl>
  1196. </div>
  1197. </div>
  1198. </div><!-- contents -->
  1199. </body>
  1200. </html>