Kaynağa Gözat

docs: Update 'Wrapping' section

Ole 9 yıl önce
ebeveyn
işleme
88bca3792b
29 değiştirilmiş dosya ile 547 ekleme ve 147 silme
  1. 53 24
      docs/mkdocs/wrapping.md
  2. 1 1
      docs/output/index.html
  3. 0 0
      docs/output/mkdocs/search_index.json
  4. 26 24
      docs/output/reference/annotated.html
  5. 0 1
      docs/output/reference/classes.html
  6. 10 4
      docs/output/reference/functions.html
  7. 11 5
      docs/output/reference/functions_func.html
  8. 13 11
      docs/output/reference/hierarchy.html
  9. 10 7
      docs/output/reference/namespaceluwra.html
  10. 4 4
      docs/output/reference/namespacemembers.html
  11. 1 1
      docs/output/reference/namespacemembers_func.html
  12. 3 3
      docs/output/reference/namespacemembers_type.html
  13. 6 5
      docs/output/reference/structluwra_1_1Pushable-members.html
  14. 26 0
      docs/output/reference/structluwra_1_1Pushable.html
  15. 4 2
      docs/output/reference/structluwra_1_1StateWrapper-members.html
  16. 0 1
      docs/output/reference/structluwra_1_1StateWrapper.html
  17. 3 1
      docs/output/reference/structluwra_1_1Table-members.html
  18. 66 4
      docs/output/reference/structluwra_1_1Table.html
  19. 2 1
      docs/output/reference/structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4-members.html
  20. 0 0
      docs/output/reference/structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html
  21. 4 4
      docs/output/reference/structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4-members.html
  22. 12 11
      docs/output/reference/structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html
  23. 49 0
      docs/output/reference/structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4-members.html
  24. 48 0
      docs/output/reference/structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html
  25. 49 0
      docs/output/reference/structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4-members.html
  26. 91 0
      docs/output/reference/structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html
  27. 5 5
      docs/output/sitemap.xml
  28. 49 28
      docs/output/wrapping/index.html
  29. 1 0
      lib/luwra/types.hpp

+ 53 - 24
docs/mkdocs/wrapping.md

@@ -1,14 +1,16 @@
-# General
-Luwra provides a simple way to generate
-Lua [C functions](http://www.lua.org/manual/5.3/manual.html#lua_CFunction) from functions and class
+# Wrapping
+Luwra provides a simple way to generate Lua [C functions][lua-cfunction] from functions and class
 members like methods and accessors using the `LUWRA_WRAP` macro. These kind of C functions are
 useful, because they work just like regular Lua functions within the Lua virtual machine.
+Registering these functions is the most straightforward way of providing the functionality of your
+application to Lua.
 
 ## Functions
-When wrapping functions, one must consider that all parameter types must be able to be read from the
-stack and the return type must be able to be pushed onto the stack.
+When wrapping functions, one must consider that all parameter types must be read from the
+stack and the return type must be pushed onto the stack.
 
-Assuming you have a function similiar to this:
+### Example
+Lets assume you want to make the following function available in Lua.
 
 ```c++
 int my_function(const char* a, int b) {
@@ -16,34 +18,58 @@ int my_function(const char* a, int b) {
 }
 ```
 
-You can easily wrap it using the `LUWRA_WRAP` macro:
+First, you must generate a Lua [C function][lua-cfunction]. One utilizes the `LUWRA_WRAP` macro for
+this.
 
 ```c++
-// Convert to lua_CFunction
 lua_CFunction cfun = LUWRA_WRAP(my_function);
-
-// Do something with it, for example set it as a Lua global function
-luwra::setGlobal(lua, "my_function", cfun);
 ```
 
 **Note:** Do not provide the address of your function (e.g. `&my_function`) to any wrapping macro.
-The macros will take care of this themselves. You must provide only the name of the function.
+The macro will take care of this itself. You must provide only the name of the function.
+
+Once you have the C function, you can register it in the global namespace.
+
+```c++
+luwra::setGlobal(lua, "my_function", cfun);
+```
 
-Calling the function from Lua is fairly straightforward:
+Invoking the function in Lua is fairly straightforward.
 
 ```lua
-local my_result = my_function("Hello World", 1337)
-print(my_result)
+print(my_function("Hello World", 1337))
 ```
-## Methods and fields
-It is also possible to turn C++ field accessors and methods into `lua_CFunction`s. It is a little
-trickier than wrapping normal functions. The resulting Lua functions expect the first (or `self`)
-parameter to be a user type instance of the type which the wrapped field or method belongs to.
+
+### Performance
+[C functions][lua-cfunction] are dynamically created at compile-time. All of the functions involved
+in wrapping are marked as `inline`, which means modern compilers produce wrapper functions with zero
+overhead, when optimization is turned on.
+
+For the example above, the resulting code would look similiar to the following.
+
+```c++
+static int cfun(lua_State* state) {
+	lua_pushinteger(
+		state,
+		my_function(
+			luaL_checkstring(state, 1),
+			luaL_checkinteger(state, 1)
+		)
+	);
+	return 1;
+}
+```
+
+## Class members
+Although a little trickier, it is also possible to turn C++ field accessors and methods into Lua
+[C functions][lua-cfunction]. The resulting Lua functions expect the first (or `self`) parameter to
+be an instance of the type which the wrapped field or method belongs to.
 
 **Note:** Before you wrap fields and methods manually, you might want to take a look at the
 [User Types](/user-types/) section.
 
-The next examples will operate on the following structure:
+### Example
+This example will operate on the following structure.
 
 ```c++
 struct Point {
@@ -58,23 +84,24 @@ struct Point {
 };
 ```
 
-In order to wrap `x`, `y` and `scale` we utilize the `LUWRA_WRAP` macro again:
+Wrapping field accessors and methods works identical to wrapping functions.
 
 ```c++
 lua_CFunction cfun_x     = LUWRA_WRAP(Point::x),
               cfun_y     = LUWRA_WRAP(Point::y),
               cfun_scale = LUWRA_WRAP(Point::scale);
 
-// Register as globals
+// Register in global namespace
 luwra::setGlobal(lua, "x", cfun_x);
 luwra::setGlobal(lua, "y", cfun_y);
 luwra::setGlobal(lua, "scale", cfun_scale);
 ```
 
-Usage looks like this:
+Usage in Lua is analogous to function usage.
 
 ```lua
-local my_point = -- Magic
+-- Instantiate 'Point' here, have a look at the User Types section to find out how to do this
+local my_point = ...
 
 -- Access 'x' and 'y' field
 print(x(my_point), y(my_point))
@@ -86,3 +113,5 @@ y(my_point, 73.31)
 -- Invoke 'scale' method
 scale(my_point, 2)
 ```
+
+[lua-cfunction]: http://www.lua.org/manual/5.3/manual.html#lua_CFunction

+ 1 - 1
docs/output/index.html

@@ -193,5 +193,5 @@ your preference.</p>
 
 <!--
 MkDocs version : 0.15.3
-Build Date UTC : 2016-05-19 16:06:19.460174
+Build Date UTC : 2016-05-20 15:20:19.074063
 -->

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
docs/output/mkdocs/search_index.json


+ 26 - 24
docs/output/reference/annotated.html

@@ -53,30 +53,32 @@
 <tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01const_01char[n]_4.html" target="_self">Value&lt; const char[n]&gt;</a></td><td class="desc"></td></tr>
 <tr id="row_0_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01const_01T_01_4.html" target="_self">Value&lt; const T &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01double_01_4.html" target="_self">Value&lt; double &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html" target="_self">Value&lt; FieldVector &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01float_01_4.html" target="_self">Value&lt; float &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html" target="_self">Value&lt; internal::Path&lt; P, K &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01long_01double_01_4.html" target="_self">Value&lt; long double &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html" target="_self">Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html" target="_self">Value&lt; Pushable &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Reference_01_4.html" target="_self">Value&lt; Reference &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedchar_01_4.html" target="_self">Value&lt; signedchar &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedint_01_4.html" target="_self">Value&lt; signedint &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedlong_01int_01_4.html" target="_self">Value&lt; signedlong int &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_24_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedlong_01long_01int_01_4.html" target="_self">Value&lt; signedlong long int &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedshort_01_4.html" target="_self">Value&lt; signedshort &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_26_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html" target="_self">Value&lt; std::nullptr_t &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html" target="_self">Value&lt; std::string &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_28_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html" target="_self">Value&lt; std::tuple&lt; A... &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Table_01_4.html" target="_self">Value&lt; Table &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_30_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html" target="_self">Value&lt; U &amp; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html" target="_self">Value&lt; U * &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_32_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01char_01_4.html" target="_self">Value&lt; unsigned char &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01int_01_4.html" target="_self">Value&lt; unsigned int &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_34_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01int_01_4.html" target="_self">Value&lt; unsigned long int &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01long_01int_01_4.html" target="_self">Value&lt; unsigned long long int &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_36_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01short_01_4.html" target="_self">Value&lt; unsigned short &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01volatile_01T_01_4.html" target="_self">Value&lt; volatile T &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01float_01_4.html" target="_self">Value&lt; float &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html" target="_self">Value&lt; internal::Path&lt; P, K &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01long_01double_01_4.html" target="_self">Value&lt; long double &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html" target="_self">Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html" target="_self">Value&lt; Pushable &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Reference_01_4.html" target="_self">Value&lt; Reference &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedchar_01_4.html" target="_self">Value&lt; signedchar &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedint_01_4.html" target="_self">Value&lt; signedint &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedlong_01int_01_4.html" target="_self">Value&lt; signedlong int &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedlong_01long_01int_01_4.html" target="_self">Value&lt; signedlong long int &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_24_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01signedshort_01_4.html" target="_self">Value&lt; signedshort &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html" target="_self">Value&lt; std::list&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_26_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html" target="_self">Value&lt; std::map&lt; K, V &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html" target="_self">Value&lt; std::nullptr_t &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_28_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html" target="_self">Value&lt; std::string &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html" target="_self">Value&lt; std::tuple&lt; A... &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_30_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html" target="_self">Value&lt; std::vector&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Table_01_4.html" target="_self">Value&lt; Table &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_32_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html" target="_self">Value&lt; U &amp; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html" target="_self">Value&lt; U * &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_34_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01char_01_4.html" target="_self">Value&lt; unsigned char &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01int_01_4.html" target="_self">Value&lt; unsigned int &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_36_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01int_01_4.html" target="_self">Value&lt; unsigned long int &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01long_01long_01int_01_4.html" target="_self">Value&lt; unsigned long long int &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_38_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01unsigned_01short_01_4.html" target="_self">Value&lt; unsigned short &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_39_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01volatile_01T_01_4.html" target="_self">Value&lt; volatile T &gt;</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
docs/output/reference/classes.html


+ 10 - 4
docs/output/reference/functions.html

@@ -127,6 +127,9 @@
 : <a class="el" href="structluwra_1_1NativeFunction.html#afac5fb27ff8a1d482b1e36e47fac364b">luwra::NativeFunction&lt; R &gt;</a>
 , <a class="el" href="structluwra_1_1NativeFunction_3_01void_01_4.html#a453d0b1b6caaf1a11b90a84f7aa902d8">luwra::NativeFunction&lt; void &gt;</a>
 </li>
+<li>operator&lt;()
+: <a class="el" href="structluwra_1_1Pushable.html#a28765b42c6ceb83c3209f1890f9c6041">luwra::Pushable</a>
+</li>
 <li>operator[]()
 : <a class="el" href="structluwra_1_1Table.html#aec994f79f7f88837e090e8bac12a980c">luwra::Table</a>
 </li>
@@ -139,19 +142,22 @@
 , <a class="el" href="structluwra_1_1Value_3_01bool_01_4.html#a4cf7548d259262443888c5ea7ede1ac0">luwra::Value&lt; bool &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01CFunction_01_4.html#a662c4a1e404004f2b1caa6ff918c0216">luwra::Value&lt; CFunction &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01const_01char_01_5_01_4.html#a5428ea2057c0eede1adbda119ed2697c">luwra::Value&lt; const char * &gt;</a>
-, <a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html#ae1fb42b3989817d2c56aaf120b86ce62">luwra::Value&lt; FieldVector &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html#a62bea9936c1caf20521744005585a189">luwra::Value&lt; internal::Path&lt; P, K &gt; &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html#a015c3bce96aa605a323f8aa342343beb">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html#a4a1d3ad91e5dd853aff92d57052add91">luwra::Value&lt; Pushable &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01Reference_01_4.html#a032de7c2302b3fdef77751f208903aba">luwra::Value&lt; Reference &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html#a7fbb611ec51a778ebaf444ad4731571a">luwra::Value&lt; std::list&lt; T &gt; &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html#a443c78b4a0cd2987aba87405f40274b4">luwra::Value&lt; std::map&lt; K, V &gt; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html#a5af93424ccdcf88139172d548808ec68">luwra::Value&lt; std::nullptr_t &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html#aeaf299009378914d5ef31b3c75082d4d">luwra::Value&lt; std::string &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html#a8f2f676f87a7f5af1b4cc4ffe565c9fe">luwra::Value&lt; std::tuple&lt; A... &gt; &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html#ae21e0684aefe3479c99520880a8fe8fa">luwra::Value&lt; std::vector&lt; T &gt; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01Table_01_4.html#aa8809137f2a894e1d96746e1eea15dd8">luwra::Value&lt; Table &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html#ac6c3dd21b3eb7e6560d9d15df082ad0f">luwra::Value&lt; U &amp; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html#a9423a6e70d249a811351098bdf20382c">luwra::Value&lt; U * &gt;</a>
 </li>
 <li>Pushable()
-: <a class="el" href="structluwra_1_1Pushable.html#a6c714c55efd53db5738fee3bb4b9968b">luwra::Pushable</a>
+: <a class="el" href="structluwra_1_1Pushable.html#a21c4eae0ad7f96c83b75c5bb18e076d4">luwra::Pushable</a>
 </li>
 </ul>
 
@@ -176,7 +182,7 @@
 : <a class="el" href="structluwra_1_1Reference.html#a8f276276f86e76b7efb29a46a35a09ce">luwra::Reference</a>
 </li>
 <li>registerUserType()
-: <a class="el" href="structluwra_1_1StateWrapper.html#a9a2b78193004c27ca9bb706dde3d2325">luwra::StateWrapper</a>
+: <a class="el" href="structluwra_1_1StateWrapper.html#af5b65a1575e106355cf9135f30f1346e">luwra::StateWrapper</a>
 </li>
 <li>runFile()
 : <a class="el" href="structluwra_1_1StateWrapper.html#a95bc37e82a56c28f354a67181676622d">luwra::StateWrapper</a>
@@ -213,7 +219,7 @@
 
 <h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>update()
-: <a class="el" href="structluwra_1_1Table.html#aae8642f49c608faa7c2c78f8aac92be1">luwra::Table</a>
+: <a class="el" href="structluwra_1_1Table.html#a3ecf13f0a4cef9f83bc04df39c00690f">luwra::Table</a>
 </li>
 </ul>
 

+ 11 - 5
docs/output/reference/functions_func.html

@@ -111,7 +111,10 @@
 </li>
 <li>operator()()
 : <a class="el" href="structluwra_1_1NativeFunction.html#a044767af6bd781766eb254d1cfdf90f5">luwra::NativeFunction&lt; R &gt;</a>
-, <a class="el" href="structluwra_1_1NativeFunction_3_01void_01_4.html#a9cbb0d9195902805a07d391979e1f337">luwra::NativeFunction&lt; void &gt;</a>
+, <a class="el" href="structluwra_1_1NativeFunction_3_01void_01_4.html#a453d0b1b6caaf1a11b90a84f7aa902d8">luwra::NativeFunction&lt; void &gt;</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="structluwra_1_1Pushable.html#a28765b42c6ceb83c3209f1890f9c6041">luwra::Pushable</a>
 </li>
 <li>operator[]()
 : <a class="el" href="structluwra_1_1Table.html#aec994f79f7f88837e090e8bac12a980c">luwra::Table</a>
@@ -125,19 +128,22 @@
 , <a class="el" href="structluwra_1_1Value_3_01bool_01_4.html#a4cf7548d259262443888c5ea7ede1ac0">luwra::Value&lt; bool &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01CFunction_01_4.html#a662c4a1e404004f2b1caa6ff918c0216">luwra::Value&lt; CFunction &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01const_01char_01_5_01_4.html#a5428ea2057c0eede1adbda119ed2697c">luwra::Value&lt; const char * &gt;</a>
-, <a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html#ae1fb42b3989817d2c56aaf120b86ce62">luwra::Value&lt; FieldVector &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html#a62bea9936c1caf20521744005585a189">luwra::Value&lt; internal::Path&lt; P, K &gt; &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html#a015c3bce96aa605a323f8aa342343beb">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html#a4a1d3ad91e5dd853aff92d57052add91">luwra::Value&lt; Pushable &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01Reference_01_4.html#a032de7c2302b3fdef77751f208903aba">luwra::Value&lt; Reference &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html#a7fbb611ec51a778ebaf444ad4731571a">luwra::Value&lt; std::list&lt; T &gt; &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html#a443c78b4a0cd2987aba87405f40274b4">luwra::Value&lt; std::map&lt; K, V &gt; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html#a5af93424ccdcf88139172d548808ec68">luwra::Value&lt; std::nullptr_t &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html#aeaf299009378914d5ef31b3c75082d4d">luwra::Value&lt; std::string &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html#a8f2f676f87a7f5af1b4cc4ffe565c9fe">luwra::Value&lt; std::tuple&lt; A... &gt; &gt;</a>
+, <a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html#ae21e0684aefe3479c99520880a8fe8fa">luwra::Value&lt; std::vector&lt; T &gt; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01Table_01_4.html#aa8809137f2a894e1d96746e1eea15dd8">luwra::Value&lt; Table &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html#ac6c3dd21b3eb7e6560d9d15df082ad0f">luwra::Value&lt; U &amp; &gt;</a>
 , <a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html#a9423a6e70d249a811351098bdf20382c">luwra::Value&lt; U * &gt;</a>
 </li>
 <li>Pushable()
-: <a class="el" href="structluwra_1_1Pushable.html#a21c4eae0ad7f96c83b75c5bb18e076d4">luwra::Pushable</a>
+: <a class="el" href="structluwra_1_1Pushable.html#a6c714c55efd53db5738fee3bb4b9968b">luwra::Pushable</a>
 </li>
 </ul>
 
@@ -159,7 +165,7 @@
 : <a class="el" href="structluwra_1_1Reference.html#a1b705c627c185727126a95f1999aabd9">luwra::Reference</a>
 </li>
 <li>registerUserType()
-: <a class="el" href="structluwra_1_1StateWrapper.html#a9a2b78193004c27ca9bb706dde3d2325">luwra::StateWrapper</a>
+: <a class="el" href="structluwra_1_1StateWrapper.html#af5b65a1575e106355cf9135f30f1346e">luwra::StateWrapper</a>
 </li>
 <li>runFile()
 : <a class="el" href="structluwra_1_1StateWrapper.html#a95bc37e82a56c28f354a67181676622d">luwra::StateWrapper</a>
@@ -189,7 +195,7 @@
 
 <h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>update()
-: <a class="el" href="structluwra_1_1Table.html#aae8642f49c608faa7c2c78f8aac92be1">luwra::Table</a>
+: <a class="el" href="structluwra_1_1Table.html#a3ecf13f0a4cef9f83bc04df39c00690f">luwra::Table</a>
 </li>
 </ul>
 

+ 13 - 11
docs/output/reference/hierarchy.html

@@ -79,17 +79,19 @@
 <tr id="row_19_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_19_" class="arrow" onclick="toggleFolder('19_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01const_01char_01_5_01_4.html" target="_self">luwra::Value&lt; const char * &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_19_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01char[n]_4.html" target="_self">luwra::Value&lt; char[n]&gt;</a></td><td class="desc"></td></tr>
 <tr id="row_19_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01const_01char[n]_4.html" target="_self">luwra::Value&lt; const char[n]&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html" target="_self">luwra::Value&lt; FieldVector &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html" target="_self">luwra::Value&lt; internal::Path&lt; P, K &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html" target="_self">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_23_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html" target="_self">luwra::Value&lt; Pushable &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Reference_01_4.html" target="_self">luwra::Value&lt; Reference &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html" target="_self">luwra::Value&lt; std::nullptr_t &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html" target="_self">luwra::Value&lt; std::string &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html" target="_self">luwra::Value&lt; std::tuple&lt; A... &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Table_01_4.html" target="_self">luwra::Value&lt; Table &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html" target="_self">luwra::Value&lt; U &amp; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html" target="_self">luwra::Value&lt; U * &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01internal_1_1Path_3_01P_00_01K_01_4_01_4.html" target="_self">luwra::Value&lt; internal::Path&lt; P, K &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html" target="_self">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Pushable_01_4.html" target="_self">luwra::Value&lt; Pushable &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_23_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Reference_01_4.html" target="_self">luwra::Value&lt; Reference &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html" target="_self">luwra::Value&lt; std::list&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html" target="_self">luwra::Value&lt; std::map&lt; K, V &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1nullptr__t_01_4.html" target="_self">luwra::Value&lt; std::nullptr_t &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1string_01_4.html" target="_self">luwra::Value&lt; std::string &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1tuple_3_01A_8_8_8_01_4_01_4.html" target="_self">luwra::Value&lt; std::tuple&lt; A... &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html" target="_self">luwra::Value&lt; std::vector&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01Table_01_4.html" target="_self">luwra::Value&lt; Table &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_31_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_6_01_4.html" target="_self">luwra::Value&lt; U &amp; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_32_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structluwra_1_1Value_3_01U_01_5_01_4.html" target="_self">luwra::Value&lt; U * &gt;</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->

Dosya farkı çok büyük olduğundan ihmal edildi
+ 10 - 7
docs/output/reference/namespaceluwra.html


+ 4 - 4
docs/output/reference/namespacemembers.html

@@ -53,9 +53,6 @@
 <li>equal()
 : <a class="el" href="namespaceluwra.html#a7814014b3adfbb6899255f120e70af26">luwra</a>
 </li>
-<li>FieldVector
-: <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">luwra</a>
-</li>
 <li>getField()
 : <a class="el" href="namespaceluwra.html#aaca0b051ab1fd52dfbc752c2ac1fb4ba">luwra</a>
 </li>
@@ -71,6 +68,9 @@
 <li>map()
 : <a class="el" href="namespaceluwra.html#a9f24fc70cb48531cf1e3da6a3a741971">luwra</a>
 </li>
+<li>MemberMap
+: <a class="el" href="namespaceluwra.html#a2e12e40b973f0f56cb9a1dc91bef882a">luwra</a>
+</li>
 <li>Number
 : <a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">luwra</a>
 </li>
@@ -81,7 +81,7 @@
 : <a class="el" href="namespaceluwra.html#a4fe4e574680cf54a0f8d958740eb90ab">luwra</a>
 </li>
 <li>registerUserType()
-: <a class="el" href="namespaceluwra.html#a1d7d357f904e0bd68b66d9588fbe341a">luwra</a>
+: <a class="el" href="namespaceluwra.html#acc685345fabe835a7f8323e7098e39f6">luwra</a>
 </li>
 <li>setFields()
 : <a class="el" href="namespaceluwra.html#a1d630ce9ae9b10af33624f70dde4b148">luwra</a>

+ 1 - 1
docs/output/reference/namespacemembers_func.html

@@ -69,7 +69,7 @@
 : <a class="el" href="namespaceluwra.html#a4fe4e574680cf54a0f8d958740eb90ab">luwra</a>
 </li>
 <li>registerUserType()
-: <a class="el" href="namespaceluwra.html#a1ef30f7916e71abe07c7a042a25e60e7">luwra</a>
+: <a class="el" href="namespaceluwra.html#acc685345fabe835a7f8323e7098e39f6">luwra</a>
 </li>
 <li>setFields()
 : <a class="el" href="namespaceluwra.html#a1d630ce9ae9b10af33624f70dde4b148">luwra</a>

+ 3 - 3
docs/output/reference/namespacemembers_type.html

@@ -41,12 +41,12 @@
 <li>CFunction
 : <a class="el" href="namespaceluwra.html#a4e313d0af10393323fa280848c3888a1">luwra</a>
 </li>
-<li>FieldVector
-: <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">luwra</a>
-</li>
 <li>Integer
 : <a class="el" href="namespaceluwra.html#afd2d98882f58f8b2afdb49c3ada78659">luwra</a>
 </li>
+<li>MemberMap
+: <a class="el" href="namespaceluwra.html#a2e12e40b973f0f56cb9a1dc91bef882a">luwra</a>
+</li>
 <li>Number
 : <a class="el" href="namespaceluwra.html#ae4dc6c1079fe75220ee055a00a49a3c1">luwra</a>
 </li>

+ 6 - 5
docs/output/reference/structluwra_1_1Pushable-members.html

@@ -45,11 +45,12 @@
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a9417f2f05f302d6a56ad075c2ade75af">copy</a>() const </td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a63bcd97a5a4b5fe8b78409aff2449737">interface</a></td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a0344b38789327969aedff0a7d8db21c3">push</a>(State *state) const </td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#abf9d1054557f2a05aad70c32efa0071a">Pushable</a>(T value)</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a6c714c55efd53db5738fee3bb4b9968b">Pushable</a>(Pushable &amp;&amp;other)</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a21c4eae0ad7f96c83b75c5bb18e076d4">Pushable</a>(const Pushable &amp;other)</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a5da5f86842a9f28d6b474a3fe2f27e72">~Pushable</a>()</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a28765b42c6ceb83c3209f1890f9c6041">operator&lt;</a>(const Pushable &amp;other) const </td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a0344b38789327969aedff0a7d8db21c3">push</a>(State *state) const </td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#abf9d1054557f2a05aad70c32efa0071a">Pushable</a>(T value)</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a6c714c55efd53db5738fee3bb4b9968b">Pushable</a>(Pushable &amp;&amp;other)</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a21c4eae0ad7f96c83b75c5bb18e076d4">Pushable</a>(const Pushable &amp;other)</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Pushable.html#a5da5f86842a9f28d6b474a3fe2f27e72">~Pushable</a>()</td><td class="entry"><a class="el" href="structluwra_1_1Pushable.html">luwra::Pushable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 	</body>
 </html>

+ 26 - 0
docs/output/reference/structluwra_1_1Pushable.html

@@ -62,6 +62,8 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a9417f2f05f302d6a56ad075c2ade75af"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5da5f86842a9f28d6b474a3fe2f27e72"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Pushable.html#a5da5f86842a9f28d6b474a3fe2f27e72">~Pushable</a> ()</td></tr>
 <tr class="separator:a5da5f86842a9f28d6b474a3fe2f27e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28765b42c6ceb83c3209f1890f9c6041"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Pushable.html#a28765b42c6ceb83c3209f1890f9c6041">operator&lt;</a> (const <a class="el" href="structluwra_1_1Pushable.html">Pushable</a> &amp;other) const </td></tr>
+<tr class="separator:a28765b42c6ceb83c3209f1890f9c6041"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
@@ -190,6 +192,30 @@ template&lt;typename T &gt; </div>
 </table>
 </div><div class="memdoc">
 
+</div>
+</div>
+<a class="anchor" id="a28765b42c6ceb83c3209f1890f9c6041"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool luwra::Pushable::operator&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structluwra_1_1Pushable.html">Pushable</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
 </div>
 <a class="anchor" id="a0344b38789327969aedff0a7d8db21c3"></a>

+ 4 - 2
docs/output/reference/structluwra_1_1StateWrapper-members.html

@@ -51,7 +51,7 @@
   <tr><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#ab91a945d5071f5ba2f99336fba2fe85e">operator State *</a>()</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#aec994f79f7f88837e090e8bac12a980c">operator[]</a>(K &amp;&amp;key) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a1f7698f2c363af4e8157748b1b4c9794">ref</a></td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#a9a2b78193004c27ca9bb706dde3d2325">registerUserType</a>(const char *ctor_name, const FieldVector &amp;methods=FieldVector(), const FieldVector &amp;meta_methods=FieldVector())</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#af5b65a1575e106355cf9135f30f1346e">registerUserType</a>(const char *ctor_name, const MemberMap &amp;methods=MemberMap(), const MemberMap &amp;meta_methods=MemberMap())</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#a95bc37e82a56c28f354a67181676622d">runFile</a>(const char *filepath)</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#a3563d59d77821c9f342763d8660c8ab6">runString</a>(const char *code)</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a3308ff035b192d944375fe4c2de5f890">set</a>(K &amp;&amp;key, V &amp;&amp;value) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -60,7 +60,9 @@
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#aa759d636fc1779af97b53383164d1ede">StateWrapper</a>()</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a20683d5082a7f0e77c8a6e2d51627ebf">Table</a>(const Reference &amp;ref)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#a8e24e761bcfa494f53388c878f756fca">Table</a>(State *state, int index)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#aae8642f49c608faa7c2c78f8aac92be1">update</a>(const FieldVector &amp;fields) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a99b404d2400cb46ddc8954dfcdb0ded1">Table</a>(State *state)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#a8a7120c51d324443a294d510e01fedf8">Table</a>(State *state, const MemberMap &amp;fields)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a3ecf13f0a4cef9f83bc04df39c00690f">update</a>(const MemberMap &amp;fields) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html#a9022ffd5a9777088b9be4e03f43287c9">~StateWrapper</a>()</td><td class="entry"><a class="el" href="structluwra_1_1StateWrapper.html">luwra::StateWrapper</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 	</body>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
docs/output/reference/structluwra_1_1StateWrapper.html


+ 3 - 1
docs/output/reference/structluwra_1_1Table-members.html

@@ -51,7 +51,9 @@
   <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a3308ff035b192d944375fe4c2de5f890">set</a>(K &amp;&amp;key, V &amp;&amp;value) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#a20683d5082a7f0e77c8a6e2d51627ebf">Table</a>(const Reference &amp;ref)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a8e24e761bcfa494f53388c878f756fca">Table</a>(State *state, int index)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#aae8642f49c608faa7c2c78f8aac92be1">update</a>(const FieldVector &amp;fields) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#a99b404d2400cb46ddc8954dfcdb0ded1">Table</a>(State *state)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Table.html#a8a7120c51d324443a294d510e01fedf8">Table</a>(State *state, const MemberMap &amp;fields)</td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Table.html#a3ecf13f0a4cef9f83bc04df39c00690f">update</a>(const MemberMap &amp;fields) const </td><td class="entry"><a class="el" href="structluwra_1_1Table.html">luwra::Table</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 	</body>
 </html>

+ 66 - 4
docs/output/reference/structluwra_1_1Table.html

@@ -53,14 +53,18 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a20683d5082a7f0e77c8a6e2d51627ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8e24e761bcfa494f53388c878f756fca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#a8e24e761bcfa494f53388c878f756fca">Table</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int index)</td></tr>
 <tr class="separator:a8e24e761bcfa494f53388c878f756fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99b404d2400cb46ddc8954dfcdb0ded1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#a99b404d2400cb46ddc8954dfcdb0ded1">Table</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state)</td></tr>
+<tr class="separator:a99b404d2400cb46ddc8954dfcdb0ded1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a7120c51d324443a294d510e01fedf8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#a8a7120c51d324443a294d510e01fedf8">Table</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const <a class="el" href="namespaceluwra.html#a2e12e40b973f0f56cb9a1dc91bef882a">MemberMap</a> &amp;fields)</td></tr>
+<tr class="separator:a8a7120c51d324443a294d510e01fedf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a607330930c90e0abae9f97573f117a93"><td class="memTemplParams" colspan="2">template&lt;typename K &gt; </td></tr>
 <tr class="memitem:a607330930c90e0abae9f97573f117a93"><td class="memTemplItemLeft" align="right" valign="top">internal::TableAccessor&lt; internal::Path&lt; const <a class="el" href="structluwra_1_1Reference.html">Reference</a> &amp;, K &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#a607330930c90e0abae9f97573f117a93">access</a> (K &amp;&amp;key) const </td></tr>
 <tr class="separator:a607330930c90e0abae9f97573f117a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aec994f79f7f88837e090e8bac12a980c"><td class="memTemplParams" colspan="2">template&lt;typename K &gt; </td></tr>
 <tr class="memitem:aec994f79f7f88837e090e8bac12a980c"><td class="memTemplItemLeft" align="right" valign="top">internal::TableAccessor&lt; internal::Path&lt; const <a class="el" href="structluwra_1_1Reference.html">Reference</a> &amp;, K &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#aec994f79f7f88837e090e8bac12a980c">operator[]</a> (K &amp;&amp;key) const </td></tr>
 <tr class="separator:aec994f79f7f88837e090e8bac12a980c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae8642f49c608faa7c2c78f8aac92be1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#aae8642f49c608faa7c2c78f8aac92be1">update</a> (const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;fields) const </td></tr>
-<tr class="separator:aae8642f49c608faa7c2c78f8aac92be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ecf13f0a4cef9f83bc04df39c00690f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#a3ecf13f0a4cef9f83bc04df39c00690f">update</a> (const <a class="el" href="namespaceluwra.html#a2e12e40b973f0f56cb9a1dc91bef882a">MemberMap</a> &amp;fields) const </td></tr>
+<tr class="separator:a3ecf13f0a4cef9f83bc04df39c00690f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a404871a21094264cca2083d12d51db34"><td class="memTemplParams" colspan="2">template&lt;typename K &gt; </td></tr>
 <tr class="memitem:a404871a21094264cca2083d12d51db34"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structluwra_1_1Table.html#a404871a21094264cca2083d12d51db34">has</a> (K &amp;&amp;key) const </td></tr>
 <tr class="separator:a404871a21094264cca2083d12d51db34"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -133,6 +137,64 @@ Public Attributes</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
+</div>
+</div>
+<a class="anchor" id="a99b404d2400cb46ddc8954dfcdb0ded1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">luwra::Table::Table </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8a7120c51d324443a294d510e01fedf8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">luwra::Table::Table </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</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#a2e12e40b973f0f56cb9a1dc91bef882a">MemberMap</a> &amp;&#160;</td>
+          <td class="paramname"><em>fields</em>&#160;</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>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
@@ -276,7 +338,7 @@ template&lt;typename V , typename K &gt; </div>
 
 </div>
 </div>
-<a class="anchor" id="aae8642f49c608faa7c2c78f8aac92be1"></a>
+<a class="anchor" id="a3ecf13f0a4cef9f83bc04df39c00690f"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -286,7 +348,7 @@ template&lt;typename V , typename K &gt; </div>
         <tr>
           <td class="memname">void luwra::Table::update </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="namespaceluwra.html#a2e12e40b973f0f56cb9a1dc91bef882a">MemberMap</a> &amp;&#160;</td>
           <td class="paramname"><em>fields</em></td><td>)</td>
           <td> const</td>
         </tr>

+ 2 - 1
docs/output/reference/structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4-members.html

@@ -43,7 +43,8 @@
 
 <p>This is the complete list of members for <a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html#a7df5cecbbd80629c5b80e7b11bf57165">read</a>(State *state, int index)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html#a015c3bce96aa605a323f8aa342343beb">push</a>(State *state, const NativeFunction&lt; R &gt; &amp;func)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html#a7df5cecbbd80629c5b80e7b11bf57165">read</a>(State *state, int index)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html">luwra::Value&lt; NativeFunction&lt; R &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
 </table></div><!-- contents -->
 	</body>
 </html>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
docs/output/reference/structluwra_1_1Value_3_01NativeFunction_3_01R_01_4_01_4.html


+ 4 - 4
docs/output/reference/structluwra_1_1Value_3_01FieldVector_01_4-members.html → docs/output/reference/structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4-members.html

@@ -32,18 +32,18 @@
   </div>
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html">Value&lt; FieldVector &gt;</a></li>  </ul>
+<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><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></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
   <div class="headertitle">
-<div class="title">luwra::Value&lt; FieldVector &gt; Member List</div>  </div>
+<div class="title">luwra::Value&lt; std::list&lt; T &gt; &gt; Member List</div>  </div>
 </div><!--header-->
 <div class="contents">
 
-<p>This is the complete list of members for <a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html">luwra::Value&lt; FieldVector &gt;</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html">luwra::Value&lt; std::list&lt; T &gt; &gt;</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html#ae1fb42b3989817d2c56aaf120b86ce62">push</a>(State *state, const FieldVector &amp;fields)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html">luwra::Value&lt; FieldVector &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html#a7fbb611ec51a778ebaf444ad4731571a">push</a>(State *state, const std::list&lt; T &gt; &amp;lst)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html">luwra::Value&lt; std::list&lt; T &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
 </table></div><!-- contents -->
 	</body>
 </html>

+ 12 - 11
docs/output/reference/structluwra_1_1Value_3_01FieldVector_01_4.html → docs/output/reference/structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4.html

@@ -5,7 +5,7 @@
 		<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::Value&lt; FieldVector &gt; Struct Template Reference</title>
+		<title>Luwra: luwra::Value&lt; std::list&lt; T &gt; &gt; Struct Template 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>
@@ -32,33 +32,35 @@
   </div>
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html">Value&lt; FieldVector &gt;</a></li>  </ul>
+<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><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></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
   <div class="summary">
 <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
-<a href="structluwra_1_1Value_3_01FieldVector_01_4-members.html">List of all members</a>  </div>
+<a href="structluwra_1_1Value_3_01std_1_1list_3_01T_01_4_01_4-members.html">List of all members</a>  </div>
   <div class="headertitle">
-<div class="title">luwra::Value&lt; FieldVector &gt; Struct Template Reference</div>  </div>
+<div class="title">luwra::Value&lt; std::list&lt; T &gt; &gt; Struct Template Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
 Static Public Member Functions</h2></td></tr>
-<tr class="memitem:ae1fb42b3989817d2c56aaf120b86ce62"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structluwra_1_1Value_3_01FieldVector_01_4.html#ae1fb42b3989817d2c56aaf120b86ce62">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;fields)</td></tr>
-<tr class="separator:ae1fb42b3989817d2c56aaf120b86ce62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fbb611ec51a778ebaf444ad4731571a"><td class="memItemLeft" align="right" valign="top">static size_t&#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#a7fbb611ec51a778ebaf444ad4731571a">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::list&lt; T &gt; &amp;lst)</td></tr>
+<tr class="separator:a7fbb611ec51a778ebaf444ad4731571a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="ae1fb42b3989817d2c56aaf120b86ce62"></a>
+<a class="anchor" id="a7fbb611ec51a778ebaf444ad4731571a"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
 <table class="mlabels">
   <tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static size_t <a class="el" href="structluwra_1_1Value.html">luwra::Value</a>&lt; <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &gt;::push </td>
+          <td class="memname">static size_t <a class="el" href="structluwra_1_1Value.html">luwra::Value</a>&lt; std::list&lt; T &gt; &gt;::push </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
           <td class="paramname"><em>state</em>, </td>
@@ -66,8 +68,8 @@ Static Public Member Functions</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="namespaceluwra.html#ac090722c6d5d6b88b31895aad64788c2">FieldVector</a> &amp;&#160;</td>
-          <td class="paramname"><em>fields</em>&#160;</td>
+          <td class="paramtype">const std::list&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>lst</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -81,7 +83,6 @@ Static Public Member Functions</h2></td></tr>
   </tr>
 </table>
 </div><div class="memdoc">
-<p>Pushing a FieldVector will create a new table with the given fields. </p>
 
 </div>
 </div>

+ 49 - 0
docs/output/reference/structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4-members.html

@@ -0,0 +1,49 @@
+<!-- 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: Member List</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&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><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></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">luwra::Value&lt; std::map&lt; K, V &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html">luwra::Value&lt; std::map&lt; K, V &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html#a443c78b4a0cd2987aba87405f40274b4">push</a>(State *state, const std::map&lt; K, V &gt; &amp;map)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html">luwra::Value&lt; std::map&lt; K, V &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+	</body>
+</html>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 48 - 0
docs/output/reference/structluwra_1_1Value_3_01std_1_1map_3_01K_00_01V_01_4_01_4.html


+ 49 - 0
docs/output/reference/structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4-members.html

@@ -0,0 +1,49 @@
+<!-- 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: Member List</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&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><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></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">luwra::Value&lt; std::vector&lt; T &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html">luwra::Value&lt; std::vector&lt; T &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html#ae21e0684aefe3479c99520880a8fe8fa">push</a>(State *state, const std::vector&lt; T &gt; &amp;vec)</td><td class="entry"><a class="el" href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html">luwra::Value&lt; std::vector&lt; T &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+	</body>
+</html>

+ 91 - 0
docs/output/reference/structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4.html

@@ -0,0 +1,91 @@
+<!-- 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::Value&lt; std::vector&lt; T &gt; &gt; Struct Template 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&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespaceluwra.html">luwra</a></li><li class="navelem"><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></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="structluwra_1_1Value_3_01std_1_1vector_3_01T_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">luwra::Value&lt; std::vector&lt; T &gt; &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ae21e0684aefe3479c99520880a8fe8fa"><td class="memItemLeft" align="right" valign="top">static size_t&#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#ae21e0684aefe3479c99520880a8fe8fa">push</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const std::vector&lt; T &gt; &amp;vec)</td></tr>
+<tr class="separator:ae21e0684aefe3479c99520880a8fe8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae21e0684aefe3479c99520880a8fe8fa"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static size_t <a class="el" href="structluwra_1_1Value.html">luwra::Value</a>&lt; std::vector&lt; T &gt; &gt;::push </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>vec</em>&#160;</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">
+
+</div>
+</div>
+</div><!-- contents -->
+	</body>
+</html>

+ 5 - 5
docs/output/sitemap.xml

@@ -4,7 +4,7 @@
     
     <url>
      <loc>None/</loc>
-     <lastmod>2016-05-19</lastmod>
+     <lastmod>2016-05-20</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -12,7 +12,7 @@
     
     <url>
      <loc>None/basics/</loc>
-     <lastmod>2016-05-19</lastmod>
+     <lastmod>2016-05-20</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -20,7 +20,7 @@
     
     <url>
      <loc>None/advanced/</loc>
-     <lastmod>2016-05-19</lastmod>
+     <lastmod>2016-05-20</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -28,7 +28,7 @@
     
     <url>
      <loc>None/wrapping/</loc>
-     <lastmod>2016-05-19</lastmod>
+     <lastmod>2016-05-20</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -36,7 +36,7 @@
     
     <url>
      <loc>None/user-types/</loc>
-     <lastmod>2016-05-19</lastmod>
+     <lastmod>2016-05-20</lastmod>
      <changefreq>daily</changefreq>
     </url>
     

+ 49 - 28
docs/output/wrapping/index.html

@@ -81,11 +81,11 @@
         
             <ul>
             
-                <li class="toctree-l3"><a href="#general">General</a></li>
+                <li class="toctree-l3"><a href="#wrapping">Wrapping</a></li>
                 
                     <li><a class="toctree-l4" href="#functions">Functions</a></li>
                 
-                    <li><a class="toctree-l4" href="#methods-and-fields">Methods and fields</a></li>
+                    <li><a class="toctree-l4" href="#class-members">Class members</a></li>
                 
             
             </ul>
@@ -136,42 +136,62 @@
           <div role="main">
             <div class="section">
               
-                <h1 id="general">General</h1>
-<p>Luwra provides a simple way to generate
-Lua <a href="http://www.lua.org/manual/5.3/manual.html#lua_CFunction">C functions</a> from functions and class
+                <h1 id="wrapping">Wrapping</h1>
+<p>Luwra provides a simple way to generate Lua <a href="http://www.lua.org/manual/5.3/manual.html#lua_CFunction">C functions</a> from functions and class
 members like methods and accessors using the <code>LUWRA_WRAP</code> macro. These kind of C functions are
-useful, because they work just like regular Lua functions within the Lua virtual machine.</p>
+useful, because they work just like regular Lua functions within the Lua virtual machine.
+Registering these functions is the most straightforward way of providing the functionality of your
+application to Lua.</p>
 <h2 id="functions">Functions</h2>
-<p>When wrapping functions, one must consider that all parameter types must be able to be read from the
-stack and the return type must be able to be pushed onto the stack.</p>
-<p>Assuming you have a function similiar to this:</p>
+<p>When wrapping functions, one must consider that all parameter types must be read from the
+stack and the return type must be pushed onto the stack.</p>
+<h3 id="example">Example</h3>
+<p>Lets assume you want to make the following function available in Lua.</p>
 <pre><code class="c++">int my_function(const char* a, int b) {
     return /* magic */;
 }
 </code></pre>
 
-<p>You can easily wrap it using the <code>LUWRA_WRAP</code> macro:</p>
-<pre><code class="c++">// Convert to lua_CFunction
-lua_CFunction cfun = LUWRA_WRAP(my_function);
-
-// Do something with it, for example set it as a Lua global function
-luwra::setGlobal(lua, &quot;my_function&quot;, cfun);
+<p>First, you must generate a Lua <a href="http://www.lua.org/manual/5.3/manual.html#lua_CFunction">C function</a>. One utilizes the <code>LUWRA_WRAP</code> macro for
+this.</p>
+<pre><code class="c++">lua_CFunction cfun = LUWRA_WRAP(my_function);
 </code></pre>
 
 <p><strong>Note:</strong> Do not provide the address of your function (e.g. <code>&amp;my_function</code>) to any wrapping macro.
-The macros will take care of this themselves. You must provide only the name of the function.</p>
-<p>Calling the function from Lua is fairly straightforward:</p>
-<pre><code class="lua">local my_result = my_function(&quot;Hello World&quot;, 1337)
-print(my_result)
+The macro will take care of this itself. You must provide only the name of the function.</p>
+<p>Once you have the C function, you can register it in the global namespace.</p>
+<pre><code class="c++">luwra::setGlobal(lua, &quot;my_function&quot;, cfun);
+</code></pre>
+
+<p>Invoking the function in Lua is fairly straightforward.</p>
+<pre><code class="lua">print(my_function(&quot;Hello World&quot;, 1337))
+</code></pre>
+
+<h3 id="performance">Performance</h3>
+<p><a href="http://www.lua.org/manual/5.3/manual.html#lua_CFunction">C functions</a> are dynamically created at compile-time. All of the functions involved
+in wrapping are marked as <code>inline</code>, which means modern compilers produce wrapper functions with zero
+overhead, when optimization is turned on.</p>
+<p>For the example above, the resulting code would look similiar to the following.</p>
+<pre><code class="c++">static int cfun(lua_State* state) {
+    lua_pushinteger(
+        state,
+        my_function(
+            luaL_checkstring(state, 1),
+            luaL_checkinteger(state, 1)
+        )
+    );
+    return 1;
+}
 </code></pre>
 
-<h2 id="methods-and-fields">Methods and fields</h2>
-<p>It is also possible to turn C++ field accessors and methods into <code>lua_CFunction</code>s. It is a little
-trickier than wrapping normal functions. The resulting Lua functions expect the first (or <code>self</code>)
-parameter to be a user type instance of the type which the wrapped field or method belongs to.</p>
+<h2 id="class-members">Class members</h2>
+<p>Although a little trickier, it is also possible to turn C++ field accessors and methods into Lua
+<a href="http://www.lua.org/manual/5.3/manual.html#lua_CFunction">C functions</a>. The resulting Lua functions expect the first (or <code>self</code>) parameter to
+be an instance of the type which the wrapped field or method belongs to.</p>
 <p><strong>Note:</strong> Before you wrap fields and methods manually, you might want to take a look at the
 <a href="../user-types/">User Types</a> section.</p>
-<p>The next examples will operate on the following structure:</p>
+<h3 id="example_1">Example</h3>
+<p>This example will operate on the following structure.</p>
 <pre><code class="c++">struct Point {
     double x, y;
 
@@ -184,19 +204,20 @@ parameter to be a user type instance of the type which the wrapped field or meth
 };
 </code></pre>
 
-<p>In order to wrap <code>x</code>, <code>y</code> and <code>scale</code> we utilize the <code>LUWRA_WRAP</code> macro again:</p>
+<p>Wrapping field accessors and methods works identical to wrapping functions.</p>
 <pre><code class="c++">lua_CFunction cfun_x     = LUWRA_WRAP(Point::x),
               cfun_y     = LUWRA_WRAP(Point::y),
               cfun_scale = LUWRA_WRAP(Point::scale);
 
-// Register as globals
+// Register in global namespace
 luwra::setGlobal(lua, &quot;x&quot;, cfun_x);
 luwra::setGlobal(lua, &quot;y&quot;, cfun_y);
 luwra::setGlobal(lua, &quot;scale&quot;, cfun_scale);
 </code></pre>
 
-<p>Usage looks like this:</p>
-<pre><code class="lua">local my_point = -- Magic
+<p>Usage in Lua is analogous to function usage.</p>
+<pre><code class="lua">-- Instantiate 'Point' here, have a look at the User Types section to find out how to do this
+local my_point = ...
 
 -- Access 'x' and 'y' field
 print(x(my_point), y(my_point))

+ 1 - 0
lib/luwra/types.hpp

@@ -50,6 +50,7 @@ struct Value<std::nullptr_t> {
 		return 1;
 	}
 };
+
 /**
  * Convenient wrapped for [Value<T>::push](@ref Value<T>::push).
  */

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor