namespaceluwra.html 66 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248
  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_1NativeFunction.html">NativeFunction</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_1NativeFunction_3_01void_01_4.html">NativeFunction&lt; void &gt;</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_1Pushable.html">Pushable</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_1Reference.html">Reference</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_1StateWrapper.html">StateWrapper</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_1Table.html">Table</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_1Value.html">Value</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_3_01bool_01_4.html">Value&lt; bool &gt;</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_01CFunction_01_4.html">Value&lt; CFunction &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_01char[n]_4.html">Value&lt; char[n]&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_01const_01char_01_5_01_4.html">Value&lt; const char * &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_01const_01char[n]_4.html">Value&lt; const 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_01T_01_4.html">Value&lt; const T &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_01double_01_4.html">Value&lt; double &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_01FieldVector_01_4.html">Value&lt; FieldVector &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_01float_01_4.html">Value&lt; float &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_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html">Value&lt; internal::Path&lt; P, K &gt; &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_01long_01double_01_4.html">Value&lt; long double &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_01NativeFunction_3_01R_01_4_01_4.html">Value&lt; NativeFunction&lt; R &gt; &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_01Pushable_01_4.html">Value&lt; Pushable &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_01Reference_01_4.html">Value&lt; Reference &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_01Table_01_4.html">Value&lt; Table &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_6_01_4.html">Value&lt; U &amp; &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_01U_01_5_01_4.html">Value&lt; U * &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_01char_01_4.html">Value&lt; unsigned char &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_01int_01_4.html">Value&lt; unsigned 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_01int_01_4.html">Value&lt; unsigned 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_01long_01long_01int_01_4.html">Value&lt; unsigned long long int &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_01unsigned_01short_01_4.html">Value&lt; unsigned short &gt;</a></td></tr>
  117. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <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>
  119. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. </table><table class="memberdecls">
  121. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  122. Typedefs</h2></td></tr>
  123. <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>
  124. <tr class="separator:ac090722c6d5d6b88b31895aad64788c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <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>
  126. <tr class="separator:afd2d98882f58f8b2afdb49c3ada78659"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <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>
  128. <tr class="separator:ae4dc6c1079fe75220ee055a00a49a3c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <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>
  130. <tr class="separator:a2c037b44385367826eb4e931b5b8197d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <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>
  132. <tr class="separator:a4e313d0af10393323fa280848c3888a1"><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:a61be315f787a0897b4685265cec96f75"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
  141. <tr class="memitem:a61be315f787a0897b4685265cec96f75"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a61be315f787a0897b4685265cec96f75">setGlobal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const char *name, V &amp;&amp;value)</td></tr>
  142. <tr class="separator:a61be315f787a0897b4685265cec96f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:a289b69f3233932b425bc88f8079cb967"><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
  144. <tr class="memitem:a289b69f3233932b425bc88f8079cb967"><td class="memTemplItemLeft" align="right" valign="top">static V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a289b69f3233932b425bc88f8079cb967">getGlobal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const char *name)</td></tr>
  145. <tr class="separator:a289b69f3233932b425bc88f8079cb967"><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:aaca0b051ab1fd52dfbc752c2ac1fb4ba"><td class="memTemplParams" colspan="2">template&lt;typename V , typename K &gt; </td></tr>
  152. <tr class="memitem:aaca0b051ab1fd52dfbc752c2ac1fb4ba"><td class="memTemplItemLeft" align="right" valign="top">static V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#aaca0b051ab1fd52dfbc752c2ac1fb4ba">getField</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index, K &amp;&amp;key)</td></tr>
  153. <tr class="separator:aaca0b051ab1fd52dfbc752c2ac1fb4ba"><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:a5889ab9407f644452b38fbcc8fbae63a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structluwra_1_1Table.html">Table</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a5889ab9407f644452b38fbcc8fbae63a">getGlobalsTable</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state)</td></tr>
  179. <tr class="separator:a5889ab9407f644452b38fbcc8fbae63a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:ab6cf73d2416b43f1a90eb243a98cff5b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  181. <tr class="memitem:ab6cf73d2416b43f1a90eb243a98cff5b"><td class="memTemplItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ab6cf73d2416b43f1a90eb243a98cff5b">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T &amp;&amp;value)</td></tr>
  182. <tr class="separator:ab6cf73d2416b43f1a90eb243a98cff5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:abb3a2b72974e20286b67753a42c6df41"><td class="memTemplParams" colspan="2">template&lt;typename T1 , typename T2 , typename... TR&gt; </td></tr>
  184. <tr class="memitem:abb3a2b72974e20286b67753a42c6df41"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#abb3a2b72974e20286b67753a42c6df41">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T1 &amp;&amp;value, T2 &amp;&amp;head, TR &amp;&amp;...rest)</td></tr>
  185. <tr class="separator:abb3a2b72974e20286b67753a42c6df41"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="memitem:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  187. <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>
  188. <tr class="separator:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memTemplParams" colspan="2">template&lt;typename U , typename... A&gt; </td></tr>
  190. <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>
  191. <tr class="separator:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  192. <tr class="memitem:a1d7d357f904e0bd68b66d9588fbe341a"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
  193. <tr class="memitem:a1d7d357f904e0bd68b66d9588fbe341a"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a1d7d357f904e0bd68b66d9588fbe341a">registerUserType</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>(), const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;meta_methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>())</td></tr>
  194. <tr class="separator:a1d7d357f904e0bd68b66d9588fbe341a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr class="memitem:a1ef30f7916e71abe07c7a042a25e60e7"><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
  196. <tr class="memitem:a1ef30f7916e71abe07c7a042a25e60e7"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a1ef30f7916e71abe07c7a042a25e60e7">registerUserType</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const char *ctor_name, const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>(), const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;meta_methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>())</td></tr>
  197. <tr class="separator:a1ef30f7916e71abe07c7a042a25e60e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  198. </table>
  199. <h2 class="groupheader">Typedef Documentation</h2>
  200. <a class="anchor" id="a4e313d0af10393323fa280848c3888a1"></a>
  201. <div class="memitem">
  202. <div class="memproto">
  203. <table class="memname">
  204. <tr>
  205. <td class="memname">using <a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">luwra::CFunction</a> = typedef lua_CFunction</td>
  206. </tr>
  207. </table>
  208. </div><div class="memdoc">
  209. </div>
  210. </div>
  211. <a class="anchor" id="ac090722c6d5d6b88b31895aad64788c2"></a>
  212. <div class="memitem">
  213. <div class="memproto">
  214. <table class="memname">
  215. <tr>
  216. <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>
  217. </tr>
  218. </table>
  219. </div><div class="memdoc">
  220. <p>A collection of key-value pairs. </p>
  221. </div>
  222. </div>
  223. <a class="anchor" id="afd2d98882f58f8b2afdb49c3ada78659"></a>
  224. <div class="memitem">
  225. <div class="memproto">
  226. <table class="memname">
  227. <tr>
  228. <td class="memname">using <a class="el" href="namespaceluwra.html#afd2d98882f58f8b2afdb49c3ada78659">luwra::Integer</a> = typedef lua_Integer</td>
  229. </tr>
  230. </table>
  231. </div><div class="memdoc">
  232. </div>
  233. </div>
  234. <a class="anchor" id="ae4dc6c1079fe75220ee055a00a49a3c1"></a>
  235. <div class="memitem">
  236. <div class="memproto">
  237. <table class="memname">
  238. <tr>
  239. <td class="memname">using <a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">luwra::Number</a> = typedef lua_Number</td>
  240. </tr>
  241. </table>
  242. </div><div class="memdoc">
  243. </div>
  244. </div>
  245. <a class="anchor" id="a2c037b44385367826eb4e931b5b8197d"></a>
  246. <div class="memitem">
  247. <div class="memproto">
  248. <table class="memname">
  249. <tr>
  250. <td class="memname">using <a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">luwra::State</a> = typedef lua_State</td>
  251. </tr>
  252. </table>
  253. </div><div class="memdoc">
  254. </div>
  255. </div>
  256. <h2 class="groupheader">Function Documentation</h2>
  257. <a class="anchor" id="a839077ddd9c3d0565a40c574bc8e9555"></a>
  258. <div class="memitem">
  259. <div class="memproto">
  260. <div class="memtemplate">
  261. template&lt;typename R , typename... A&gt; </div>
  262. <table class="mlabels">
  263. <tr>
  264. <td class="mlabels-left">
  265. <table class="memname">
  266. <tr>
  267. <td class="memname">static R luwra::apply </td>
  268. <td>(</td>
  269. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  270. <td class="paramname"><em>state</em>, </td>
  271. </tr>
  272. <tr>
  273. <td class="paramkey"></td>
  274. <td></td>
  275. <td class="paramtype">int&#160;</td>
  276. <td class="paramname"><em>pos</em>, </td>
  277. </tr>
  278. <tr>
  279. <td class="paramkey"></td>
  280. <td></td>
  281. <td class="paramtype">R(*)(A...)&#160;</td>
  282. <td class="paramname"><em>fun</em>&#160;</td>
  283. </tr>
  284. <tr>
  285. <td></td>
  286. <td>)</td>
  287. <td></td><td></td>
  288. </tr>
  289. </table>
  290. </td>
  291. <td class="mlabels-right">
  292. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  293. </tr>
  294. </table>
  295. </div><div class="memdoc">
  296. <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>
  297. </div>
  298. </div>
  299. <a class="anchor" id="ae5412e502815db7aa2a10e6c84394457"></a>
  300. <div class="memitem">
  301. <div class="memproto">
  302. <div class="memtemplate">
  303. template&lt;typename R , typename... A&gt; </div>
  304. <table class="mlabels">
  305. <tr>
  306. <td class="mlabels-left">
  307. <table class="memname">
  308. <tr>
  309. <td class="memname">static R luwra::apply </td>
  310. <td>(</td>
  311. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  312. <td class="paramname"><em>state</em>, </td>
  313. </tr>
  314. <tr>
  315. <td class="paramkey"></td>
  316. <td></td>
  317. <td class="paramtype">R(*)(A...)&#160;</td>
  318. <td class="paramname"><em>fun</em>&#160;</td>
  319. </tr>
  320. <tr>
  321. <td></td>
  322. <td>)</td>
  323. <td></td><td></td>
  324. </tr>
  325. </table>
  326. </td>
  327. <td class="mlabels-right">
  328. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  329. </tr>
  330. </table>
  331. </div><div class="memdoc">
  332. <p>Same as <code>apply(state, 1, fun)</code>. </p>
  333. </div>
  334. </div>
  335. <a class="anchor" id="a983092513bfded87189613f8dc27ebbe"></a>
  336. <div class="memitem">
  337. <div class="memproto">
  338. <div class="memtemplate">
  339. template&lt;typename R , typename... A&gt; </div>
  340. <table class="mlabels">
  341. <tr>
  342. <td class="mlabels-left">
  343. <table class="memname">
  344. <tr>
  345. <td class="memname">static R luwra::apply </td>
  346. <td>(</td>
  347. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  348. <td class="paramname"><em>state</em>, </td>
  349. </tr>
  350. <tr>
  351. <td class="paramkey"></td>
  352. <td></td>
  353. <td class="paramtype">int&#160;</td>
  354. <td class="paramname"><em>pos</em>, </td>
  355. </tr>
  356. <tr>
  357. <td class="paramkey"></td>
  358. <td></td>
  359. <td class="paramtype">const std::function&lt; R(A...)&gt; &amp;&#160;</td>
  360. <td class="paramname"><em>fun</em>&#160;</td>
  361. </tr>
  362. <tr>
  363. <td></td>
  364. <td>)</td>
  365. <td></td><td></td>
  366. </tr>
  367. </table>
  368. </td>
  369. <td class="mlabels-right">
  370. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  371. </tr>
  372. </table>
  373. </div><div class="memdoc">
  374. <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>
  375. </div>
  376. </div>
  377. <a class="anchor" id="a9a121cbb3ba2b4fb7ee8b2c12472ab51"></a>
  378. <div class="memitem">
  379. <div class="memproto">
  380. <div class="memtemplate">
  381. template&lt;typename R , typename... A&gt; </div>
  382. <table class="mlabels">
  383. <tr>
  384. <td class="mlabels-left">
  385. <table class="memname">
  386. <tr>
  387. <td class="memname">static R luwra::apply </td>
  388. <td>(</td>
  389. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  390. <td class="paramname"><em>state</em>, </td>
  391. </tr>
  392. <tr>
  393. <td class="paramkey"></td>
  394. <td></td>
  395. <td class="paramtype">const std::function&lt; R(A...)&gt; &amp;&#160;</td>
  396. <td class="paramname"><em>fun</em>&#160;</td>
  397. </tr>
  398. <tr>
  399. <td></td>
  400. <td>)</td>
  401. <td></td><td></td>
  402. </tr>
  403. </table>
  404. </td>
  405. <td class="mlabels-right">
  406. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  407. </tr>
  408. </table>
  409. </div><div class="memdoc">
  410. <p>Same as <code>apply(state, 1, fun)</code>. </p>
  411. </div>
  412. </div>
  413. <a class="anchor" id="af079dcca8e67d88e5cfdc7e8872cf5d7"></a>
  414. <div class="memitem">
  415. <div class="memproto">
  416. <div class="memtemplate">
  417. template&lt;typename U , typename... A&gt; </div>
  418. <table class="mlabels">
  419. <tr>
  420. <td class="mlabels-left">
  421. <table class="memname">
  422. <tr>
  423. <td class="memname">static internal::StripUserType&lt;U&gt;&amp; luwra::construct </td>
  424. <td>(</td>
  425. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  426. <td class="paramname"><em>state</em>, </td>
  427. </tr>
  428. <tr>
  429. <td class="paramkey"></td>
  430. <td></td>
  431. <td class="paramtype">A &amp;&amp;...&#160;</td>
  432. <td class="paramname"><em>args</em>&#160;</td>
  433. </tr>
  434. <tr>
  435. <td></td>
  436. <td>)</td>
  437. <td></td><td></td>
  438. </tr>
  439. </table>
  440. </td>
  441. <td class="mlabels-right">
  442. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  443. </tr>
  444. </table>
  445. </div><div class="memdoc">
  446. <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>
  447. <dl class="params"><dt>Parameters</dt><dd>
  448. <table class="params">
  449. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  450. <tr><td class="paramname">args</td><td>Constructor arguments </td></tr>
  451. </table>
  452. </dd>
  453. </dl>
  454. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structluwra_1_1Reference.html">Reference</a> to the constructed value </dd></dl>
  455. </div>
  456. </div>
  457. <a class="anchor" id="aa20e363f38b3ae5a168cf40365f5646a"></a>
  458. <div class="memitem">
  459. <div class="memproto">
  460. <div class="memtemplate">
  461. template&lt;typename S , typename F , typename... X&gt; </div>
  462. <table class="mlabels">
  463. <tr>
  464. <td class="mlabels-left">
  465. <table class="memname">
  466. <tr>
  467. <td class="memname">static internal::Layout&lt;S&gt;::ReturnType luwra::direct </td>
  468. <td>(</td>
  469. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  470. <td class="paramname"><em>state</em>, </td>
  471. </tr>
  472. <tr>
  473. <td class="paramkey"></td>
  474. <td></td>
  475. <td class="paramtype">int&#160;</td>
  476. <td class="paramname"><em>pos</em>, </td>
  477. </tr>
  478. <tr>
  479. <td class="paramkey"></td>
  480. <td></td>
  481. <td class="paramtype">F &amp;&amp;&#160;</td>
  482. <td class="paramname"><em>hook</em>, </td>
  483. </tr>
  484. <tr>
  485. <td class="paramkey"></td>
  486. <td></td>
  487. <td class="paramtype">X &amp;&amp;...&#160;</td>
  488. <td class="paramname"><em>args</em>&#160;</td>
  489. </tr>
  490. <tr>
  491. <td></td>
  492. <td>)</td>
  493. <td></td><td></td>
  494. </tr>
  495. </table>
  496. </td>
  497. <td class="mlabels-right">
  498. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  499. </tr>
  500. </table>
  501. </div><div class="memdoc">
  502. <p>Retrieve values from the stack and invoke a <code>Callable</code> with them.</p>
  503. <dl class="tparams"><dt>Template Parameters</dt><dd>
  504. <table class="tparams">
  505. <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>
  506. <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>
  507. <tr><td class="paramname">X</td><td>Extra argument types</td></tr>
  508. </table>
  509. </dd>
  510. </dl>
  511. <dl class="params"><dt>Parameters</dt><dd>
  512. <table class="params">
  513. <tr><td class="paramname">state</td><td>Lua state instance </td></tr>
  514. <tr><td class="paramname">pos</td><td>Index of the first value </td></tr>
  515. <tr><td class="paramname">hook</td><td>Callable value </td></tr>
  516. <tr><td class="paramname">args</td><td>Extra arguments which shall be be passed to <code>hook</code> before the stack values</td></tr>
  517. </table>
  518. </dd>
  519. </dl>
  520. <dl class="section return"><dt>Returns</dt><dd>Result of calling <code>hook</code> </dd></dl>
  521. </div>
  522. </div>
  523. <a class="anchor" id="a037ab066fd6d547c57a912ffe7e5edd9"></a>
  524. <div class="memitem">
  525. <div class="memproto">
  526. <div class="memtemplate">
  527. template&lt;typename S , typename F , typename... A&gt; </div>
  528. <table class="mlabels">
  529. <tr>
  530. <td class="mlabels-left">
  531. <table class="memname">
  532. <tr>
  533. <td class="memname">static internal::Layout&lt;S&gt;::ReturnType luwra::direct </td>
  534. <td>(</td>
  535. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  536. <td class="paramname"><em>state</em>, </td>
  537. </tr>
  538. <tr>
  539. <td class="paramkey"></td>
  540. <td></td>
  541. <td class="paramtype">F &amp;&amp;&#160;</td>
  542. <td class="paramname"><em>hook</em>, </td>
  543. </tr>
  544. <tr>
  545. <td class="paramkey"></td>
  546. <td></td>
  547. <td class="paramtype">A &amp;&amp;...&#160;</td>
  548. <td class="paramname"><em>args</em>&#160;</td>
  549. </tr>
  550. <tr>
  551. <td></td>
  552. <td>)</td>
  553. <td></td><td></td>
  554. </tr>
  555. </table>
  556. </td>
  557. <td class="mlabels-right">
  558. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  559. </tr>
  560. </table>
  561. </div><div class="memdoc">
  562. <p>Same as <code>direct(state, 1, hook)</code>. </p>
  563. </div>
  564. </div>
  565. <a class="anchor" id="a7814014b3adfbb6899255f120e70af26"></a>
  566. <div class="memitem">
  567. <div class="memproto">
  568. <table class="mlabels">
  569. <tr>
  570. <td class="mlabels-left">
  571. <table class="memname">
  572. <tr>
  573. <td class="memname">static bool luwra::equal </td>
  574. <td>(</td>
  575. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  576. <td class="paramname"><em>state</em>, </td>
  577. </tr>
  578. <tr>
  579. <td class="paramkey"></td>
  580. <td></td>
  581. <td class="paramtype">int&#160;</td>
  582. <td class="paramname"><em>index1</em>, </td>
  583. </tr>
  584. <tr>
  585. <td class="paramkey"></td>
  586. <td></td>
  587. <td class="paramtype">int&#160;</td>
  588. <td class="paramname"><em>index2</em>&#160;</td>
  589. </tr>
  590. <tr>
  591. <td></td>
  592. <td>)</td>
  593. <td></td><td></td>
  594. </tr>
  595. </table>
  596. </td>
  597. <td class="mlabels-right">
  598. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  599. </tr>
  600. </table>
  601. </div><div class="memdoc">
  602. <p>Check if two values are equal. </p><dl class="params"><dt>Parameters</dt><dd>
  603. <table class="params">
  604. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  605. <tr><td class="paramname">index1</td><td>Index of left-hand side value </td></tr>
  606. <tr><td class="paramname">index2</td><td>Index of right-hand side value </td></tr>
  607. </table>
  608. </dd>
  609. </dl>
  610. </div>
  611. </div>
  612. <a class="anchor" id="aaca0b051ab1fd52dfbc752c2ac1fb4ba"></a>
  613. <div class="memitem">
  614. <div class="memproto">
  615. <div class="memtemplate">
  616. template&lt;typename V , typename K &gt; </div>
  617. <table class="mlabels">
  618. <tr>
  619. <td class="mlabels-left">
  620. <table class="memname">
  621. <tr>
  622. <td class="memname">static V luwra::getField </td>
  623. <td>(</td>
  624. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  625. <td class="paramname"><em>state</em>, </td>
  626. </tr>
  627. <tr>
  628. <td class="paramkey"></td>
  629. <td></td>
  630. <td class="paramtype">int&#160;</td>
  631. <td class="paramname"><em>index</em>, </td>
  632. </tr>
  633. <tr>
  634. <td class="paramkey"></td>
  635. <td></td>
  636. <td class="paramtype">K &amp;&amp;&#160;</td>
  637. <td class="paramname"><em>key</em>&#160;</td>
  638. </tr>
  639. <tr>
  640. <td></td>
  641. <td>)</td>
  642. <td></td><td></td>
  643. </tr>
  644. </table>
  645. </td>
  646. <td class="mlabels-right">
  647. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  648. </tr>
  649. </table>
  650. </div><div class="memdoc">
  651. <p>Retrieve a field from a table. </p>
  652. </div>
  653. </div>
  654. <a class="anchor" id="a289b69f3233932b425bc88f8079cb967"></a>
  655. <div class="memitem">
  656. <div class="memproto">
  657. <div class="memtemplate">
  658. template&lt;typename V &gt; </div>
  659. <table class="mlabels">
  660. <tr>
  661. <td class="mlabels-left">
  662. <table class="memname">
  663. <tr>
  664. <td class="memname">static V luwra::getGlobal </td>
  665. <td>(</td>
  666. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  667. <td class="paramname"><em>state</em>, </td>
  668. </tr>
  669. <tr>
  670. <td class="paramkey"></td>
  671. <td></td>
  672. <td class="paramtype">const char *&#160;</td>
  673. <td class="paramname"><em>name</em>&#160;</td>
  674. </tr>
  675. <tr>
  676. <td></td>
  677. <td>)</td>
  678. <td></td><td></td>
  679. </tr>
  680. </table>
  681. </td>
  682. <td class="mlabels-right">
  683. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  684. </tr>
  685. </table>
  686. </div><div class="memdoc">
  687. <p>Retrieve a global value. </p><dl class="params"><dt>Parameters</dt><dd>
  688. <table class="params">
  689. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  690. <tr><td class="paramname">name</td><td>Global name </td></tr>
  691. </table>
  692. </dd>
  693. </dl>
  694. <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>
  695. </div>
  696. </div>
  697. <a class="anchor" id="a5889ab9407f644452b38fbcc8fbae63a"></a>
  698. <div class="memitem">
  699. <div class="memproto">
  700. <table class="mlabels">
  701. <tr>
  702. <td class="mlabels-left">
  703. <table class="memname">
  704. <tr>
  705. <td class="memname">static <a class="el" href="structluwra_1_1Table.html">Table</a> luwra::getGlobalsTable </td>
  706. <td>(</td>
  707. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  708. <td class="paramname"><em>state</em></td><td>)</td>
  709. <td></td>
  710. </tr>
  711. </table>
  712. </td>
  713. <td class="mlabels-right">
  714. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  715. </tr>
  716. </table>
  717. </div><div class="memdoc">
  718. <p>Retrieve the table containing all global values. </p><dl class="params"><dt>Parameters</dt><dd>
  719. <table class="params">
  720. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  721. </table>
  722. </dd>
  723. </dl>
  724. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structluwra_1_1Reference.html">Reference</a> to the globals table. </dd></dl>
  725. </div>
  726. </div>
  727. <a class="anchor" id="a9f24fc70cb48531cf1e3da6a3a741971"></a>
  728. <div class="memitem">
  729. <div class="memproto">
  730. <div class="memtemplate">
  731. template&lt;typename S , typename F , typename... A&gt; </div>
  732. <table class="mlabels">
  733. <tr>
  734. <td class="mlabels-left">
  735. <table class="memname">
  736. <tr>
  737. <td class="memname">static size_t luwra::map </td>
  738. <td>(</td>
  739. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  740. <td class="paramname"><em>state</em>, </td>
  741. </tr>
  742. <tr>
  743. <td class="paramkey"></td>
  744. <td></td>
  745. <td class="paramtype">int&#160;</td>
  746. <td class="paramname"><em>pos</em>, </td>
  747. </tr>
  748. <tr>
  749. <td class="paramkey"></td>
  750. <td></td>
  751. <td class="paramtype">F &amp;&amp;&#160;</td>
  752. <td class="paramname"><em>hook</em>, </td>
  753. </tr>
  754. <tr>
  755. <td class="paramkey"></td>
  756. <td></td>
  757. <td class="paramtype">A &amp;&amp;...&#160;</td>
  758. <td class="paramname"><em>args</em>&#160;</td>
  759. </tr>
  760. <tr>
  761. <td></td>
  762. <td>)</td>
  763. <td></td><td></td>
  764. </tr>
  765. </table>
  766. </td>
  767. <td class="mlabels-right">
  768. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  769. </tr>
  770. </table>
  771. </div><div class="memdoc">
  772. <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>
  773. </div>
  774. </div>
  775. <a class="anchor" id="a6dc1624dc2f382d10651768a89788204"></a>
  776. <div class="memitem">
  777. <div class="memproto">
  778. <div class="memtemplate">
  779. template&lt;typename S , typename F , typename... A&gt; </div>
  780. <table class="mlabels">
  781. <tr>
  782. <td class="mlabels-left">
  783. <table class="memname">
  784. <tr>
  785. <td class="memname">static size_t luwra::map </td>
  786. <td>(</td>
  787. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  788. <td class="paramname"><em>state</em>, </td>
  789. </tr>
  790. <tr>
  791. <td class="paramkey"></td>
  792. <td></td>
  793. <td class="paramtype">F &amp;&amp;&#160;</td>
  794. <td class="paramname"><em>hook</em>, </td>
  795. </tr>
  796. <tr>
  797. <td class="paramkey"></td>
  798. <td></td>
  799. <td class="paramtype">A &amp;&amp;...&#160;</td>
  800. <td class="paramname"><em>args</em>&#160;</td>
  801. </tr>
  802. <tr>
  803. <td></td>
  804. <td>)</td>
  805. <td></td><td></td>
  806. </tr>
  807. </table>
  808. </td>
  809. <td class="mlabels-right">
  810. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  811. </tr>
  812. </table>
  813. </div><div class="memdoc">
  814. <p>Same as <code>map(state, 1, hook)</code>. </p>
  815. </div>
  816. </div>
  817. <a class="anchor" id="ab6cf73d2416b43f1a90eb243a98cff5b"></a>
  818. <div class="memitem">
  819. <div class="memproto">
  820. <div class="memtemplate">
  821. template&lt;typename T &gt; </div>
  822. <table class="mlabels">
  823. <tr>
  824. <td class="mlabels-left">
  825. <table class="memname">
  826. <tr>
  827. <td class="memname">static size_t luwra::push </td>
  828. <td>(</td>
  829. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  830. <td class="paramname"><em>state</em>, </td>
  831. </tr>
  832. <tr>
  833. <td class="paramkey"></td>
  834. <td></td>
  835. <td class="paramtype">T &amp;&amp;&#160;</td>
  836. <td class="paramname"><em>value</em>&#160;</td>
  837. </tr>
  838. <tr>
  839. <td></td>
  840. <td>)</td>
  841. <td></td><td></td>
  842. </tr>
  843. </table>
  844. </td>
  845. <td class="mlabels-right">
  846. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  847. </tr>
  848. </table>
  849. </div><div class="memdoc">
  850. <p>Convenient wrapped for Value&lt;T&gt;::push. </p>
  851. </div>
  852. </div>
  853. <a class="anchor" id="abb3a2b72974e20286b67753a42c6df41"></a>
  854. <div class="memitem">
  855. <div class="memproto">
  856. <div class="memtemplate">
  857. template&lt;typename T1 , typename T2 , typename... TR&gt; </div>
  858. <table class="memname">
  859. <tr>
  860. <td class="memname">size_t luwra::push </td>
  861. <td>(</td>
  862. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  863. <td class="paramname"><em>state</em>, </td>
  864. </tr>
  865. <tr>
  866. <td class="paramkey"></td>
  867. <td></td>
  868. <td class="paramtype">T1 &amp;&amp;&#160;</td>
  869. <td class="paramname"><em>value</em>, </td>
  870. </tr>
  871. <tr>
  872. <td class="paramkey"></td>
  873. <td></td>
  874. <td class="paramtype">T2 &amp;&amp;&#160;</td>
  875. <td class="paramname"><em>head</em>, </td>
  876. </tr>
  877. <tr>
  878. <td class="paramkey"></td>
  879. <td></td>
  880. <td class="paramtype">TR &amp;&amp;...&#160;</td>
  881. <td class="paramname"><em>rest</em>&#160;</td>
  882. </tr>
  883. <tr>
  884. <td></td>
  885. <td>)</td>
  886. <td></td><td></td>
  887. </tr>
  888. </table>
  889. </div><div class="memdoc">
  890. <p>Allows you to push multiple values at once. </p>
  891. </div>
  892. </div>
  893. <a class="anchor" id="a4fe4e574680cf54a0f8d958740eb90ab"></a>
  894. <div class="memitem">
  895. <div class="memproto">
  896. <div class="memtemplate">
  897. template&lt;typename T &gt; </div>
  898. <table class="mlabels">
  899. <tr>
  900. <td class="mlabels-left">
  901. <table class="memname">
  902. <tr>
  903. <td class="memname">static T luwra::read </td>
  904. <td>(</td>
  905. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  906. <td class="paramname"><em>state</em>, </td>
  907. </tr>
  908. <tr>
  909. <td class="paramkey"></td>
  910. <td></td>
  911. <td class="paramtype">int&#160;</td>
  912. <td class="paramname"><em>index</em>&#160;</td>
  913. </tr>
  914. <tr>
  915. <td></td>
  916. <td>)</td>
  917. <td></td><td></td>
  918. </tr>
  919. </table>
  920. </td>
  921. <td class="mlabels-right">
  922. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  923. </tr>
  924. </table>
  925. </div><div class="memdoc">
  926. <p>Convenient wrapper for Value&lt;T&gt;::read. </p>
  927. </div>
  928. </div>
  929. <a class="anchor" id="a1d7d357f904e0bd68b66d9588fbe341a"></a>
  930. <div class="memitem">
  931. <div class="memproto">
  932. <div class="memtemplate">
  933. template&lt;typename U &gt; </div>
  934. <table class="mlabels">
  935. <tr>
  936. <td class="mlabels-left">
  937. <table class="memname">
  938. <tr>
  939. <td class="memname">static void luwra::registerUserType </td>
  940. <td>(</td>
  941. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  942. <td class="paramname"><em>state</em>, </td>
  943. </tr>
  944. <tr>
  945. <td class="paramkey"></td>
  946. <td></td>
  947. <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
  948. <td class="paramname"><em>methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code>, </td>
  949. </tr>
  950. <tr>
  951. <td class="paramkey"></td>
  952. <td></td>
  953. <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
  954. <td class="paramname"><em>meta_methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code>&#160;</td>
  955. </tr>
  956. <tr>
  957. <td></td>
  958. <td>)</td>
  959. <td></td><td></td>
  960. </tr>
  961. </table>
  962. </td>
  963. <td class="mlabels-right">
  964. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  965. </tr>
  966. </table>
  967. </div><div class="memdoc">
  968. <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>
  969. <p>By default a garbage-collector hook and string representation function are added as meta methods. Both can be overwritten.</p>
  970. <dl class="tparams"><dt>Template Parameters</dt><dd>
  971. <table class="tparams">
  972. <tr><td class="paramname">U</td><td>User type struct or class</td></tr>
  973. </table>
  974. </dd>
  975. </dl>
  976. <dl class="params"><dt>Parameters</dt><dd>
  977. <table class="params">
  978. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  979. <tr><td class="paramname">methods</td><td>Map of methods </td></tr>
  980. <tr><td class="paramname">meta_methods</td><td>Map of meta methods </td></tr>
  981. </table>
  982. </dd>
  983. </dl>
  984. </div>
  985. </div>
  986. <a class="anchor" id="a1ef30f7916e71abe07c7a042a25e60e7"></a>
  987. <div class="memitem">
  988. <div class="memproto">
  989. <div class="memtemplate">
  990. template&lt;typename S &gt; </div>
  991. <table class="mlabels">
  992. <tr>
  993. <td class="mlabels-left">
  994. <table class="memname">
  995. <tr>
  996. <td class="memname">static void luwra::registerUserType </td>
  997. <td>(</td>
  998. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  999. <td class="paramname"><em>state</em>, </td>
  1000. </tr>
  1001. <tr>
  1002. <td class="paramkey"></td>
  1003. <td></td>
  1004. <td class="paramtype">const char *&#160;</td>
  1005. <td class="paramname"><em>ctor_name</em>, </td>
  1006. </tr>
  1007. <tr>
  1008. <td class="paramkey"></td>
  1009. <td></td>
  1010. <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
  1011. <td class="paramname"><em>methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code>, </td>
  1012. </tr>
  1013. <tr>
  1014. <td class="paramkey"></td>
  1015. <td></td>
  1016. <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
  1017. <td class="paramname"><em>meta_methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code>&#160;</td>
  1018. </tr>
  1019. <tr>
  1020. <td></td>
  1021. <td>)</td>
  1022. <td></td><td></td>
  1023. </tr>
  1024. </table>
  1025. </td>
  1026. <td class="mlabels-right">
  1027. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1028. </tr>
  1029. </table>
  1030. </div><div class="memdoc">
  1031. <p>Same as the other <code>registerUserType</code> but registers the constructor 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>
  1032. </div>
  1033. </div>
  1034. <a class="anchor" id="a1d630ce9ae9b10af33624f70dde4b148"></a>
  1035. <div class="memitem">
  1036. <div class="memproto">
  1037. <div class="memtemplate">
  1038. template&lt;typename... R&gt; </div>
  1039. <table class="mlabels">
  1040. <tr>
  1041. <td class="mlabels-left">
  1042. <table class="memname">
  1043. <tr>
  1044. <td class="memname">static void luwra::setFields </td>
  1045. <td>(</td>
  1046. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1047. <td class="paramname"><em>state</em>, </td>
  1048. </tr>
  1049. <tr>
  1050. <td class="paramkey"></td>
  1051. <td></td>
  1052. <td class="paramtype">int&#160;</td>
  1053. <td class="paramname"><em>index</em>, </td>
  1054. </tr>
  1055. <tr>
  1056. <td class="paramkey"></td>
  1057. <td></td>
  1058. <td class="paramtype">R &amp;&amp;...&#160;</td>
  1059. <td class="paramname"><em>args</em>&#160;</td>
  1060. </tr>
  1061. <tr>
  1062. <td></td>
  1063. <td>)</td>
  1064. <td></td><td></td>
  1065. </tr>
  1066. </table>
  1067. </td>
  1068. <td class="mlabels-right">
  1069. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1070. </tr>
  1071. </table>
  1072. </div><div class="memdoc">
  1073. <p>Set multiple fields at once. Allows you to provide multiple key-value pairs. </p><dl class="params"><dt>Parameters</dt><dd>
  1074. <table class="params">
  1075. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1076. <tr><td class="paramname">index</td><td><a class="el" href="structluwra_1_1Table.html">Table</a> index </td></tr>
  1077. <tr><td class="paramname">args</td><td>Key-value pairs </td></tr>
  1078. </table>
  1079. </dd>
  1080. </dl>
  1081. </div>
  1082. </div>
  1083. <a class="anchor" id="a00729c47fba6114115f2e3f32c21f0b8"></a>
  1084. <div class="memitem">
  1085. <div class="memproto">
  1086. <table class="mlabels">
  1087. <tr>
  1088. <td class="mlabels-left">
  1089. <table class="memname">
  1090. <tr>
  1091. <td class="memname">static void luwra::setFields </td>
  1092. <td>(</td>
  1093. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1094. <td class="paramname"><em>state</em>, </td>
  1095. </tr>
  1096. <tr>
  1097. <td class="paramkey"></td>
  1098. <td></td>
  1099. <td class="paramtype">int&#160;</td>
  1100. <td class="paramname"><em>index</em>, </td>
  1101. </tr>
  1102. <tr>
  1103. <td class="paramkey"></td>
  1104. <td></td>
  1105. <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
  1106. <td class="paramname"><em>fields</em>&#160;</td>
  1107. </tr>
  1108. <tr>
  1109. <td></td>
  1110. <td>)</td>
  1111. <td></td><td></td>
  1112. </tr>
  1113. </table>
  1114. </td>
  1115. <td class="mlabels-right">
  1116. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1117. </tr>
  1118. </table>
  1119. </div><div class="memdoc">
  1120. <p>Apply key-value pairs to a table. </p><dl class="params"><dt>Parameters</dt><dd>
  1121. <table class="params">
  1122. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1123. <tr><td class="paramname">index</td><td><a class="el" href="structluwra_1_1Table.html">Table</a> index </td></tr>
  1124. <tr><td class="paramname">fields</td><td><a class="el" href="structluwra_1_1Table.html">Table</a> fields </td></tr>
  1125. </table>
  1126. </dd>
  1127. </dl>
  1128. </div>
  1129. </div>
  1130. <a class="anchor" id="a61be315f787a0897b4685265cec96f75"></a>
  1131. <div class="memitem">
  1132. <div class="memproto">
  1133. <div class="memtemplate">
  1134. template&lt;typename V &gt; </div>
  1135. <table class="mlabels">
  1136. <tr>
  1137. <td class="mlabels-left">
  1138. <table class="memname">
  1139. <tr>
  1140. <td class="memname">static void luwra::setGlobal </td>
  1141. <td>(</td>
  1142. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1143. <td class="paramname"><em>state</em>, </td>
  1144. </tr>
  1145. <tr>
  1146. <td class="paramkey"></td>
  1147. <td></td>
  1148. <td class="paramtype">const char *&#160;</td>
  1149. <td class="paramname"><em>name</em>, </td>
  1150. </tr>
  1151. <tr>
  1152. <td class="paramkey"></td>
  1153. <td></td>
  1154. <td class="paramtype">V &amp;&amp;&#160;</td>
  1155. <td class="paramname"><em>value</em>&#160;</td>
  1156. </tr>
  1157. <tr>
  1158. <td></td>
  1159. <td>)</td>
  1160. <td></td><td></td>
  1161. </tr>
  1162. </table>
  1163. </td>
  1164. <td class="mlabels-right">
  1165. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1166. </tr>
  1167. </table>
  1168. </div><div class="memdoc">
  1169. <p>Register a value as a global. </p><dl class="params"><dt>Parameters</dt><dd>
  1170. <table class="params">
  1171. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1172. <tr><td class="paramname">name</td><td>Global name </td></tr>
  1173. <tr><td class="paramname">value</td><td>Global value </td></tr>
  1174. </table>
  1175. </dd>
  1176. </dl>
  1177. </div>
  1178. </div>
  1179. <a class="anchor" id="a7a73f160e82f91ae974ea33c72248c35"></a>
  1180. <div class="memitem">
  1181. <div class="memproto">
  1182. <table class="mlabels">
  1183. <tr>
  1184. <td class="mlabels-left">
  1185. <table class="memname">
  1186. <tr>
  1187. <td class="memname">static void luwra::setMetatable </td>
  1188. <td>(</td>
  1189. <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
  1190. <td class="paramname"><em>state</em>, </td>
  1191. </tr>
  1192. <tr>
  1193. <td class="paramkey"></td>
  1194. <td></td>
  1195. <td class="paramtype">const char *&#160;</td>
  1196. <td class="paramname"><em>name</em>&#160;</td>
  1197. </tr>
  1198. <tr>
  1199. <td></td>
  1200. <td>)</td>
  1201. <td></td><td></td>
  1202. </tr>
  1203. </table>
  1204. </td>
  1205. <td class="mlabels-right">
  1206. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  1207. </tr>
  1208. </table>
  1209. </div><div class="memdoc">
  1210. <p>Set a registered metatable for the value on top of the stack. </p><dl class="params"><dt>Parameters</dt><dd>
  1211. <table class="params">
  1212. <tr><td class="paramname">state</td><td>Lua state </td></tr>
  1213. <tr><td class="paramname">name</td><td>Metatable name </td></tr>
  1214. </table>
  1215. </dd>
  1216. </dl>
  1217. </div>
  1218. </div>
  1219. </div><!-- contents -->
  1220. </body>
  1221. </html>