| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213 |
- <!-- HTML header for doxygen 1.8.10-->
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.11"/>
- <title>Luwra: luwra Namespace Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- <link href="stylesheet.css" rel="stylesheet" type="text/css"/>
- </head>
- <body>
- <div id="top">
- <!-- Generated by Doxygen 1.8.11 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="namespaces.html"><span>Namespace List</span></a></li>
- <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
- </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#nested-classes">Classes</a> |
- <a href="#typedef-members">Typedefs</a> |
- <a href="#func-members">Functions</a> </div>
- <div class="headertitle">
- <div class="title">luwra Namespace Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
- Classes</h2></td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Arbitrary.html">Arbitrary</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1GlobalAccessor.html">GlobalAccessor</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1NativeFunction.html">NativeFunction</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1NativeFunction_3_01R_07A_8_8_8_08_4.html">NativeFunction< R(A...)></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1NativeFunction_3_01void_07A_8_8_8_08_4.html">NativeFunction< void(A...)></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Pushable.html">Pushable</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1StateWrapper.html">StateWrapper</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value.html">Value</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01Arbitrary_01_4.html">Value< Arbitrary ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01bool_01_4.html">Value< bool ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01CFunction_01_4.html">Value< CFunction ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01char[n]_4.html">Value< char[n]></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01const_01char_01_5_01_4.html">Value< const char * ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01const_01char[n]_4.html">Value< const char[n]></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01const_01T_01_4.html">Value< const T ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01double_01_4.html">Value< double ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html">Value< FieldVector ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01float_01_4.html">Value< float ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01long_01double_01_4.html">Value< long double ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_07A_8_8_8_08_4_01_4.html">Value< NativeFunction< R(A...)> ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html">Value< Pushable ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedchar_01_4.html">Value< signedchar ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedint_01_4.html">Value< signedint ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedlong_01int_01_4.html">Value< signedlong int ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedlong_01long_01int_01_4.html">Value< signedlong long int ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01signedshort_01_4.html">Value< signedshort ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html">Value< std::nullptr_t ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html">Value< std::string ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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< std::tuple< A... > ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html">Value< U & ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html">Value< U * ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01char_01_4.html">Value< unsigned char ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01int_01_4.html">Value< unsigned int ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01int_01_4.html">Value< unsigned long int ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01long_01int_01_4.html">Value< unsigned long long int ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01unsigned_01short_01_4.html">Value< unsigned short ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01volatile_01T_01_4.html">Value< volatile T ></a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
- Typedefs</h2></td></tr>
- <tr class="memitem:ac090722c6d5d6b88b31895aad64788c2"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> = std::vector< std::pair< <a class="el" href="structluwra_1_1Pushable.html">Pushable</a>, <a class="el" href="structluwra_1_1Pushable.html">Pushable</a> >></td></tr>
- <tr class="separator:ac090722c6d5d6b88b31895aad64788c2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afd2d98882f58f8b2afdb49c3ada78659"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#afd2d98882f58f8b2afdb49c3ada78659">Integer</a> = lua_Integer</td></tr>
- <tr class="separator:afd2d98882f58f8b2afdb49c3ada78659"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae4dc6c1079fe75220ee055a00a49a3c1"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">Number</a> = lua_Number</td></tr>
- <tr class="separator:ae4dc6c1079fe75220ee055a00a49a3c1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2c037b44385367826eb4e931b5b8197d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> = lua_State</td></tr>
- <tr class="separator:a2c037b44385367826eb4e931b5b8197d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4e313d0af10393323fa280848c3888a1"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">CFunction</a> = lua_CFunction</td></tr>
- <tr class="separator:a4e313d0af10393323fa280848c3888a1"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
- Functions</h2></td></tr>
- <tr class="memitem:a7814014b3adfbb6899255f120e70af26"><td class="memItemLeft" align="right" valign="top">static bool </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>
- <tr class="separator:a7814014b3adfbb6899255f120e70af26"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7a73f160e82f91ae974ea33c72248c35"><td class="memItemLeft" align="right" valign="top">static void </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>
- <tr class="separator:a7a73f160e82f91ae974ea33c72248c35"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afed27900ff117638937ad92e0217258d"><td class="memTemplParams" colspan="2">template<typename V > </td></tr>
- <tr class="memitem:afed27900ff117638937ad92e0217258d"><td class="memTemplItemLeft" align="right" valign="top">static void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#afed27900ff117638937ad92e0217258d">setGlobal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::string &name, V value)</td></tr>
- <tr class="separator:afed27900ff117638937ad92e0217258d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af0a7dbbbdb339227c6ecaaa46422e05b"><td class="memTemplParams" colspan="2">template<typename V > </td></tr>
- <tr class="memitem:af0a7dbbbdb339227c6ecaaa46422e05b"><td class="memTemplItemLeft" align="right" valign="top">static V </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#af0a7dbbbdb339227c6ecaaa46422e05b">getGlobal</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::string &name)</td></tr>
- <tr class="separator:af0a7dbbbdb339227c6ecaaa46422e05b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1d630ce9ae9b10af33624f70dde4b148"><td class="memTemplParams" colspan="2">template<typename... R> </td></tr>
- <tr class="memitem:a1d630ce9ae9b10af33624f70dde4b148"><td class="memTemplItemLeft" align="right" valign="top">static void </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 &&...args)</td></tr>
- <tr class="separator:a1d630ce9ae9b10af33624f70dde4b148"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a00729c47fba6114115f2e3f32c21f0b8"><td class="memItemLeft" align="right" valign="top">static void </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> &fields)</td></tr>
- <tr class="separator:a00729c47fba6114115f2e3f32c21f0b8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a06cabc81163602ec1fd8f580944f5b86"><td class="memTemplParams" colspan="2">template<typename V , typename K > </td></tr>
- <tr class="memitem:a06cabc81163602ec1fd8f580944f5b86"><td class="memTemplItemLeft" align="right" valign="top">static V </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a06cabc81163602ec1fd8f580944f5b86">getField</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index, K key)</td></tr>
- <tr class="separator:a06cabc81163602ec1fd8f580944f5b86"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa20e363f38b3ae5a168cf40365f5646a"><td class="memTemplParams" colspan="2">template<typename S , typename F , typename... X> </td></tr>
- <tr class="memitem:aa20e363f38b3ae5a168cf40365f5646a"><td class="memTemplItemLeft" align="right" valign="top">static internal::Layout< S >::ReturnType </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 &&hook, X &&...args)</td></tr>
- <tr class="separator:aa20e363f38b3ae5a168cf40365f5646a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memTemplParams" colspan="2">template<typename S , typename F , typename... A> </td></tr>
- <tr class="memitem:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memTemplItemLeft" align="right" valign="top">static internal::Layout< S >::ReturnType </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 &&hook, A &&...args)</td></tr>
- <tr class="separator:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a839077ddd9c3d0565a40c574bc8e9555"><td class="memTemplParams" colspan="2">template<typename R , typename... A> </td></tr>
- <tr class="memitem:a839077ddd9c3d0565a40c574bc8e9555"><td class="memTemplItemLeft" align="right" valign="top">static R </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>
- <tr class="separator:a839077ddd9c3d0565a40c574bc8e9555"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae5412e502815db7aa2a10e6c84394457"><td class="memTemplParams" colspan="2">template<typename R , typename... A> </td></tr>
- <tr class="memitem:ae5412e502815db7aa2a10e6c84394457"><td class="memTemplItemLeft" align="right" valign="top">static R </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>
- <tr class="separator:ae5412e502815db7aa2a10e6c84394457"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a983092513bfded87189613f8dc27ebbe"><td class="memTemplParams" colspan="2">template<typename R , typename... A> </td></tr>
- <tr class="memitem:a983092513bfded87189613f8dc27ebbe"><td class="memTemplItemLeft" align="right" valign="top">static R </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< R(A...)> &fun)</td></tr>
- <tr class="separator:a983092513bfded87189613f8dc27ebbe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9a121cbb3ba2b4fb7ee8b2c12472ab51"><td class="memTemplParams" colspan="2">template<typename R , typename... A> </td></tr>
- <tr class="memitem:a9a121cbb3ba2b4fb7ee8b2c12472ab51"><td class="memTemplItemLeft" align="right" valign="top">static R </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< R(A...)> &fun)</td></tr>
- <tr class="separator:a9a121cbb3ba2b4fb7ee8b2c12472ab51"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memTemplParams" colspan="2">template<typename S , typename F , typename... A> </td></tr>
- <tr class="memitem:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memTemplItemLeft" align="right" valign="top">static size_t </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 &&hook, A &&...args)</td></tr>
- <tr class="separator:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6dc1624dc2f382d10651768a89788204"><td class="memTemplParams" colspan="2">template<typename S , typename F , typename... A> </td></tr>
- <tr class="memitem:a6dc1624dc2f382d10651768a89788204"><td class="memTemplItemLeft" align="right" valign="top">static size_t </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 &&hook, A &&...args)</td></tr>
- <tr class="separator:a6dc1624dc2f382d10651768a89788204"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae8e7eab11fc2cf3f258ffd81571066fa"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
- <tr class="memitem:ae8e7eab11fc2cf3f258ffd81571066fa"><td class="memTemplItemLeft" align="right" valign="top">static size_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ae8e7eab11fc2cf3f258ffd81571066fa">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T value)</td></tr>
- <tr class="separator:ae8e7eab11fc2cf3f258ffd81571066fa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a083af86d9ec488ddd0dee8c4cf0acdff"><td class="memTemplParams" colspan="2">template<typename T1 , typename T2 , typename... TR> </td></tr>
- <tr class="memitem:a083af86d9ec488ddd0dee8c4cf0acdff"><td class="memTemplItemLeft" align="right" valign="top">size_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a083af86d9ec488ddd0dee8c4cf0acdff">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T1 value, T2 &&head, TR &&...rest)</td></tr>
- <tr class="separator:a083af86d9ec488ddd0dee8c4cf0acdff"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
- <tr class="memitem:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memTemplItemLeft" align="right" valign="top">static T </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>
- <tr class="separator:a4fe4e574680cf54a0f8d958740eb90ab"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memTemplParams" colspan="2">template<typename U , typename... A> </td></tr>
- <tr class="memitem:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memTemplItemLeft" align="right" valign="top">static internal::StripUserType< U > & </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 &&...args)</td></tr>
- <tr class="separator:af079dcca8e67d88e5cfdc7e8872cf5d7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1d7d357f904e0bd68b66d9588fbe341a"><td class="memTemplParams" colspan="2">template<typename U > </td></tr>
- <tr class="memitem:a1d7d357f904e0bd68b66d9588fbe341a"><td class="memTemplItemLeft" align="right" valign="top">static void </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> &methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>(), const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &meta_methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>())</td></tr>
- <tr class="separator:a1d7d357f904e0bd68b66d9588fbe341a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a683f6075862f8fc5cad0d76445f2f607"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
- <tr class="memitem:a683f6075862f8fc5cad0d76445f2f607"><td class="memTemplItemLeft" align="right" valign="top">static void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a683f6075862f8fc5cad0d76445f2f607">registerUserType</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::string &ctor_name, const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>(), const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &meta_methods=<a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>())</td></tr>
- <tr class="separator:a683f6075862f8fc5cad0d76445f2f607"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <h2 class="groupheader">Typedef Documentation</h2>
- <a class="anchor" id="a4e313d0af10393323fa280848c3888a1"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">luwra::CFunction</a> = typedef lua_CFunction</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a class="anchor" id="ac090722c6d5d6b88b31895aad64788c2"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">luwra::FieldVector</a> = typedef std::vector<std::pair<<a class="el" href="structluwra_1_1Pushable.html">Pushable</a>, <a class="el" href="structluwra_1_1Pushable.html">Pushable</a>>></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>A collection of key-value pairs. </p>
- </div>
- </div>
- <a class="anchor" id="afd2d98882f58f8b2afdb49c3ada78659"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespaceluwra.html#afd2d98882f58f8b2afdb49c3ada78659">luwra::Integer</a> = typedef lua_Integer</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a class="anchor" id="ae4dc6c1079fe75220ee055a00a49a3c1"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">luwra::Number</a> = typedef lua_Number</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a class="anchor" id="a2c037b44385367826eb4e931b5b8197d"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">luwra::State</a> = typedef lua_State</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Function Documentation</h2>
- <a class="anchor" id="a839077ddd9c3d0565a40c574bc8e9555"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename R , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static R luwra::apply </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">R(*)(A...) </td>
- <td class="paramname"><em>fun</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- </div>
- </div>
- <a class="anchor" id="ae5412e502815db7aa2a10e6c84394457"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename R , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static R luwra::apply </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">R(*)(A...) </td>
- <td class="paramname"><em>fun</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Same as <code>apply(state, 1, fun)</code>. </p>
- </div>
- </div>
- <a class="anchor" id="a983092513bfded87189613f8dc27ebbe"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename R , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static R luwra::apply </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::function< R(A...)> & </td>
- <td class="paramname"><em>fun</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- </div>
- </div>
- <a class="anchor" id="a9a121cbb3ba2b4fb7ee8b2c12472ab51"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename R , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static R luwra::apply </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::function< R(A...)> & </td>
- <td class="paramname"><em>fun</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Same as <code>apply(state, 1, fun)</code>. </p>
- </div>
- </div>
- <a class="anchor" id="af079dcca8e67d88e5cfdc7e8872cf5d7"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename U , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static internal::StripUserType<U>& luwra::construct </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">A &&... </td>
- <td class="paramname"><em>args</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">args</td><td>Constructor arguments </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Reference to the constructed value </dd></dl>
- </div>
- </div>
- <a class="anchor" id="aa20e363f38b3ae5a168cf40365f5646a"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename S , typename F , typename... X> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static internal::Layout<S>::ReturnType luwra::direct </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">F && </td>
- <td class="paramname"><em>hook</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">X &&... </td>
- <td class="paramname"><em>args</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Retrieve values from the stack and invoke a <code>Callable</code> with them.</p>
- <dl class="tparams"><dt>Template Parameters</dt><dd>
- <table class="tparams">
- <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>
- <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>
- <tr><td class="paramname">X</td><td>Extra argument types</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state instance </td></tr>
- <tr><td class="paramname">pos</td><td>Index of the first value </td></tr>
- <tr><td class="paramname">hook</td><td>Callable value </td></tr>
- <tr><td class="paramname">args</td><td>Extra arguments which shall be be passed to <code>hook</code> before the stack values</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Result of calling <code>hook</code> </dd></dl>
- </div>
- </div>
- <a class="anchor" id="a037ab066fd6d547c57a912ffe7e5edd9"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename S , typename F , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static internal::Layout<S>::ReturnType luwra::direct </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">F && </td>
- <td class="paramname"><em>hook</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">A &&... </td>
- <td class="paramname"><em>args</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Same as <code>direct(state, 1, hook)</code>. </p>
- </div>
- </div>
- <a class="anchor" id="a7814014b3adfbb6899255f120e70af26"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static bool luwra::equal </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>index1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>index2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Check if two values are equal. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">index1</td><td>Index of left-hand side value </td></tr>
- <tr><td class="paramname">index2</td><td>Index of right-hand side value </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a06cabc81163602ec1fd8f580944f5b86"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename V , typename K > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static V luwra::getField </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>index</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">K </td>
- <td class="paramname"><em>key</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Retrieve a field from a table. </p>
- </div>
- </div>
- <a class="anchor" id="af0a7dbbbdb339227c6ecaaa46422e05b"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename V > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static V luwra::getGlobal </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>name</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Retrieve a global value. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">name</td><td>Global name </td></tr>
- </table>
- </dd>
- </dl>
- <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>
- </div>
- </div>
- <a class="anchor" id="a9f24fc70cb48531cf1e3da6a3a741971"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename S , typename F , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static size_t luwra::map </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">F && </td>
- <td class="paramname"><em>hook</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">A &&... </td>
- <td class="paramname"><em>args</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- </div>
- </div>
- <a class="anchor" id="a6dc1624dc2f382d10651768a89788204"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename S , typename F , typename... A> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static size_t luwra::map </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">F && </td>
- <td class="paramname"><em>hook</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">A &&... </td>
- <td class="paramname"><em>args</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Same as <code>map(state, 1, hook)</code>. </p>
- </div>
- </div>
- <a class="anchor" id="ae8e7eab11fc2cf3f258ffd81571066fa"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename T > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static size_t luwra::push </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T </td>
- <td class="paramname"><em>value</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Convenient wrapped for <a class="el" href="structluwra_1_1Value.html#aa376d68285606c206562b822e8187384">Value<T>::push</a>. </p>
- </div>
- </div>
- <a class="anchor" id="a083af86d9ec488ddd0dee8c4cf0acdff"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename T1 , typename T2 , typename... TR> </div>
- <table class="memname">
- <tr>
- <td class="memname">size_t luwra::push </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T1 </td>
- <td class="paramname"><em>value</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T2 && </td>
- <td class="paramname"><em>head</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TR &&... </td>
- <td class="paramname"><em>rest</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Allows you to push multiple values at once. </p>
- </div>
- </div>
- <a class="anchor" id="a4fe4e574680cf54a0f8d958740eb90ab"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename T > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static T luwra::read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>index</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Convenient wrapper for <a class="el" href="structluwra_1_1Value.html#a41e193fdb55028189fe8ca5e503efcfa">Value<T>::read</a>. </p>
- </div>
- </div>
- <a class="anchor" id="a1d7d357f904e0bd68b66d9588fbe341a"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename U > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void luwra::registerUserType </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> & </td>
- <td class="paramname"><em>methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> & </td>
- <td class="paramname"><em>meta_methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- <p>By default a garbage-collector hook and string representation function are added as meta methods. Both can be overwritten.</p>
- <dl class="tparams"><dt>Template Parameters</dt><dd>
- <table class="tparams">
- <tr><td class="paramname">U</td><td>User type struct or class</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">methods</td><td>Map of methods </td></tr>
- <tr><td class="paramname">meta_methods</td><td>Map of meta methods </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a683f6075862f8fc5cad0d76445f2f607"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename T > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void luwra::registerUserType </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>ctor_name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> & </td>
- <td class="paramname"><em>methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> & </td>
- <td class="paramname"><em>meta_methods</em> = <code><a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a>()</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Same as the other <code>registerUserType</code> but registers the construtor as well. The template parameter is a signature <code>U(A...)</code> where <code>U</code> is the user type and <code>A...</code> its constructor parameters. </p>
- </div>
- </div>
- <a class="anchor" id="a1d630ce9ae9b10af33624f70dde4b148"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename... R> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void luwra::setFields </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>index</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">R &&... </td>
- <td class="paramname"><em>args</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set multiple fields at once. Allows you to provide multiple key-value pairs. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">index</td><td>Table index </td></tr>
- <tr><td class="paramname">args</td><td>Key-value pairs </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a00729c47fba6114115f2e3f32c21f0b8"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void luwra::setFields </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>index</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> & </td>
- <td class="paramname"><em>fields</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Apply key-value pairs to a table. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">index</td><td>Table index </td></tr>
- <tr><td class="paramname">fields</td><td>Table fields </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="afed27900ff117638937ad92e0217258d"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename V > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void luwra::setGlobal </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">V </td>
- <td class="paramname"><em>value</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register a value as a global. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">name</td><td>Global name </td></tr>
- <tr><td class="paramname">value</td><td>Global value </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a7a73f160e82f91ae974ea33c72248c35"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void luwra::setMetatable </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
- <td class="paramname"><em>state</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>name</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set a registered metatable for the value on top of the stack. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">state</td><td>Lua state </td></tr>
- <tr><td class="paramname">name</td><td>Metatable name </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- </div><!-- contents -->
- </body>
- </html>
|