namespaceluwra.html 67 KB

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