dub 0.3.0 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dub might be problematic. Click here for more details.
- data/.gitignore +8 -0
 - data/History.txt +37 -0
 - data/LICENSE +20 -0
 - data/README.rdoc +48 -0
 - data/Rakefile +58 -0
 - data/dub.gemspec +197 -0
 - data/lib/dub/argument.rb +275 -0
 - data/lib/dub/entities_unescape.rb +16 -0
 - data/lib/dub/function.rb +163 -0
 - data/lib/dub/function_group.rb +72 -0
 - data/lib/dub/generator.rb +15 -0
 - data/lib/dub/group.rb +24 -0
 - data/lib/dub/klass.rb +232 -0
 - data/lib/dub/lua/class.cpp.erb +83 -0
 - data/lib/dub/lua/class_gen.rb +97 -0
 - data/lib/dub/lua/function.cpp.erb +18 -0
 - data/lib/dub/lua/function_gen.rb +258 -0
 - data/lib/dub/lua/group.cpp.erb +9 -0
 - data/lib/dub/lua/lua_cpp_helper.h +141 -0
 - data/lib/dub/lua/namespace.cpp.erb +40 -0
 - data/lib/dub/lua/namespace_gen.rb +88 -0
 - data/lib/dub/lua.rb +24 -0
 - data/lib/dub/member_extraction.rb +92 -0
 - data/lib/dub/namespace.rb +277 -0
 - data/lib/dub/parser.rb +46 -0
 - data/lib/dub/templates/lua_template.erb +21 -0
 - data/lib/dub/version.rb +3 -0
 - data/lib/dub.rb +23 -24
 - data/test/argument_test.rb +547 -0
 - data/test/fixtures/app/CMakeLists.txt +54 -0
 - data/test/fixtures/app/Doxyfile +1600 -0
 - data/test/fixtures/app/bindings/all_lua.cpp +299 -0
 - data/test/fixtures/app/include/matrix.h +153 -0
 - data/test/fixtures/app/make_lua_bindings.rb +13 -0
 - data/test/fixtures/app/vendor/lua/CMakeLists.txt +25 -0
 - data/test/fixtures/app/vendor/lua/COPYRIGHT +34 -0
 - data/test/fixtures/app/vendor/lua/HISTORY +183 -0
 - data/test/fixtures/app/vendor/lua/INSTALL +99 -0
 - data/test/fixtures/app/vendor/lua/Makefile +183 -0
 - data/test/fixtures/app/vendor/lua/README +37 -0
 - data/test/fixtures/app/vendor/lua/lapi.c +1080 -0
 - data/test/fixtures/app/vendor/lua/lapi.h +16 -0
 - data/test/fixtures/app/vendor/lua/lauxlib.c +653 -0
 - data/test/fixtures/app/vendor/lua/lauxlib.h +174 -0
 - data/test/fixtures/app/vendor/lua/lbaselib.c +643 -0
 - data/test/fixtures/app/vendor/lua/lcode.c +839 -0
 - data/test/fixtures/app/vendor/lua/lcode.h +76 -0
 - data/test/fixtures/app/vendor/lua/ldblib.c +397 -0
 - data/test/fixtures/app/vendor/lua/ldebug.c +622 -0
 - data/test/fixtures/app/vendor/lua/ldebug.h +33 -0
 - data/test/fixtures/app/vendor/lua/ldo.c +516 -0
 - data/test/fixtures/app/vendor/lua/ldo.h +57 -0
 - data/test/fixtures/app/vendor/lua/ldump.c +164 -0
 - data/test/fixtures/app/vendor/lua/lfunc.c +174 -0
 - data/test/fixtures/app/vendor/lua/lfunc.h +34 -0
 - data/test/fixtures/app/vendor/lua/lgc.c +711 -0
 - data/test/fixtures/app/vendor/lua/lgc.h +110 -0
 - data/test/fixtures/app/vendor/lua/liblua.a +0 -0
 - data/test/fixtures/app/vendor/lua/linit.c +38 -0
 - data/test/fixtures/app/vendor/lua/liolib.c +532 -0
 - data/test/fixtures/app/vendor/lua/llex.c +461 -0
 - data/test/fixtures/app/vendor/lua/llex.h +81 -0
 - data/test/fixtures/app/vendor/lua/llimits.h +128 -0
 - data/test/fixtures/app/vendor/lua/lmathlib.c +263 -0
 - data/test/fixtures/app/vendor/lua/lmem.c +86 -0
 - data/test/fixtures/app/vendor/lua/lmem.h +49 -0
 - data/test/fixtures/app/vendor/lua/loadlib.c +664 -0
 - data/test/fixtures/app/vendor/lua/lobject.c +214 -0
 - data/test/fixtures/app/vendor/lua/lobject.h +381 -0
 - data/test/fixtures/app/vendor/lua/lopcodes.c +102 -0
 - data/test/fixtures/app/vendor/lua/lopcodes.h +268 -0
 - data/test/fixtures/app/vendor/lua/loslib.c +244 -0
 - data/test/fixtures/app/vendor/lua/lparser.c +1337 -0
 - data/test/fixtures/app/vendor/lua/lparser.h +82 -0
 - data/test/fixtures/app/vendor/lua/lstate.c +214 -0
 - data/test/fixtures/app/vendor/lua/lstate.h +168 -0
 - data/test/fixtures/app/vendor/lua/lstring.c +111 -0
 - data/test/fixtures/app/vendor/lua/lstring.h +31 -0
 - data/test/fixtures/app/vendor/lua/lstrlib.c +868 -0
 - data/test/fixtures/app/vendor/lua/ltable.c +588 -0
 - data/test/fixtures/app/vendor/lua/ltable.h +40 -0
 - data/test/fixtures/app/vendor/lua/ltablib.c +278 -0
 - data/test/fixtures/app/vendor/lua/ltm.c +75 -0
 - data/test/fixtures/app/vendor/lua/ltm.h +54 -0
 - data/test/fixtures/app/vendor/lua/lua.c +695 -0
 - data/test/fixtures/app/vendor/lua/lua.h +385 -0
 - data/test/fixtures/app/vendor/lua/lua_dub_helper.h +77 -0
 - data/test/fixtures/app/vendor/lua/luac +0 -0
 - data/test/fixtures/app/vendor/lua/luac.c +200 -0
 - data/test/fixtures/app/vendor/lua/luaconf.h +762 -0
 - data/test/fixtures/app/vendor/lua/lualib.h +53 -0
 - data/test/fixtures/app/vendor/lua/lundump.c +223 -0
 - data/test/fixtures/app/vendor/lua/lundump.h +36 -0
 - data/test/fixtures/app/vendor/lua/lvm.c +765 -0
 - data/test/fixtures/app/vendor/lua/lvm.h +36 -0
 - data/test/fixtures/app/vendor/lua/lzio.c +82 -0
 - data/test/fixtures/app/vendor/lua/lzio.h +67 -0
 - data/test/fixtures/app/vendor/lua/matrix.h +102 -0
 - data/test/fixtures/app/vendor/lua/print.c +227 -0
 - data/test/fixtures/app/vendor/lua/test/README +26 -0
 - data/test/fixtures/app/vendor/lua/test/bisect.lua +27 -0
 - data/test/fixtures/app/vendor/lua/test/cf.lua +16 -0
 - data/test/fixtures/app/vendor/lua/test/echo.lua +5 -0
 - data/test/fixtures/app/vendor/lua/test/env.lua +7 -0
 - data/test/fixtures/app/vendor/lua/test/factorial.lua +32 -0
 - data/test/fixtures/app/vendor/lua/test/fib.lua +40 -0
 - data/test/fixtures/app/vendor/lua/test/fibfor.lua +13 -0
 - data/test/fixtures/app/vendor/lua/test/globals.lua +13 -0
 - data/test/fixtures/app/vendor/lua/test/hello.lua +3 -0
 - data/test/fixtures/app/vendor/lua/test/life.lua +111 -0
 - data/test/fixtures/app/vendor/lua/test/luac.lua +7 -0
 - data/test/fixtures/app/vendor/lua/test/printf.lua +7 -0
 - data/test/fixtures/app/vendor/lua/test/readonly.lua +12 -0
 - data/test/fixtures/app/vendor/lua/test/sieve.lua +29 -0
 - data/test/fixtures/app/vendor/lua/test/sort.lua +66 -0
 - data/test/fixtures/app/vendor/lua/test/table.lua +12 -0
 - data/test/fixtures/app/vendor/lua/test/trace-calls.lua +32 -0
 - data/test/fixtures/app/vendor/lua/test/trace-globals.lua +38 -0
 - data/test/fixtures/app/vendor/lua/test/xd.lua +14 -0
 - data/test/fixtures/app/xml/classdub_1_1_matrix.xml +313 -0
 - data/test/fixtures/app/xml/classdub_1_1_t_mat.xml +252 -0
 - data/test/fixtures/app/xml/combine.xslt +15 -0
 - data/test/fixtures/app/xml/compound.xsd +814 -0
 - data/test/fixtures/app/xml/dir_53661a2bdeb1d55e60581a7e15deb763.xml +12 -0
 - data/test/fixtures/app/xml/index.xml +47 -0
 - data/test/fixtures/app/xml/index.xsd +66 -0
 - data/test/fixtures/app/xml/matrix_8h.xml +175 -0
 - data/test/fixtures/app/xml/namespacedub.xml +41 -0
 - data/test/fixtures/classcv_1_1_mat.xml +1996 -0
 - data/test/fixtures/classcv_1_1_point__.xml +341 -0
 - data/test/fixtures/classcv_1_1_scalar__.xml +269 -0
 - data/test/fixtures/classcv_1_1_size__.xml +270 -0
 - data/test/fixtures/dummy_class.cpp.erb +1 -0
 - data/test/fixtures/dummy_function.cpp.erb +1 -0
 - data/test/fixtures/group___magic_type.xml +406 -0
 - data/test/fixtures/namespacecv.xml +12659 -0
 - data/test/function_group_test.rb +24 -0
 - data/test/function_test.rb +395 -0
 - data/test/group_test.rb +155 -0
 - data/test/helper.rb +34 -0
 - data/test/klass_test.rb +395 -0
 - data/test/lua_function_gen_test.rb +195 -0
 - data/test/namespace_test.rb +220 -0
 - data/test/parser_test.rb +36 -0
 - metadata +211 -458
 - checksums.yaml +0 -7
 - data/lib/crystalline/metadata_fields.rb +0 -163
 - data/lib/crystalline/t.rb +0 -59
 - data/lib/crystalline/utils.rb +0 -65
 - data/lib/crystalline.rb +0 -12
 - data/lib/open_api_sdk/analytics.rb +0 -154
 - data/lib/open_api_sdk/commissions.rb +0 -298
 - data/lib/open_api_sdk/customers.rb +0 -709
 - data/lib/open_api_sdk/domains.rb +0 -839
 - data/lib/open_api_sdk/dub.rb +0 -99
 - data/lib/open_api_sdk/embed_tokens.rb +0 -163
 - data/lib/open_api_sdk/events.rb +0 -154
 - data/lib/open_api_sdk/folders.rb +0 -570
 - data/lib/open_api_sdk/links.rb +0 -1377
 - data/lib/open_api_sdk/models/operations/accesslevel.rb +0 -18
 - data/lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/bulkcreatelinks_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/bulkdeletelinks_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/bulkdeletelinks_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/bulkdeletelinks_responsebody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/bulkupdatelinks_requestbody.rb +0 -30
 - data/lib/open_api_sdk/models/operations/bulkupdatelinks_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/bulkupdatelinks_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/checkdomainstatus_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/checkdomainstatus_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/click.rb +0 -24
 - data/lib/open_api_sdk/models/operations/color.rb +0 -23
 - data/lib/open_api_sdk/models/operations/country.rb +0 -266
 - data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +0 -48
 - data/lib/open_api_sdk/models/operations/createcustomer_link.rb +0 -39
 - data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +0 -33
 - data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +0 -33
 - data/lib/open_api_sdk/models/operations/createcustomer_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createcustomer_type.rb +0 -18
 - data/lib/open_api_sdk/models/operations/createdomain_requestbody.rb +0 -45
 - data/lib/open_api_sdk/models/operations/createdomain_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +0 -27
 - data/lib/open_api_sdk/models/operations/createfolder_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +0 -145
 - data/lib/open_api_sdk/models/operations/createlink_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createpartner_link.rb +0 -48
 - data/lib/open_api_sdk/models/operations/createpartner_requestbody.rb +0 -45
 - data/lib/open_api_sdk/models/operations/createpartner_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +0 -104
 - data/lib/open_api_sdk/models/operations/createpartner_status.rb +0 -23
 - data/lib/open_api_sdk/models/operations/createpartner_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +0 -111
 - data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +0 -39
 - data/lib/open_api_sdk/models/operations/createpartnerlink_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createpartnerlink_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/createreferralsembedtoken_country.rb +0 -266
 - data/lib/open_api_sdk/models/operations/createreferralsembedtoken_linkprops.rb +0 -111
 - data/lib/open_api_sdk/models/operations/createreferralsembedtoken_requestbody.rb +0 -30
 - data/lib/open_api_sdk/models/operations/createreferralsembedtoken_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/createreferralsembedtoken_responsebody.rb +0 -27
 - data/lib/open_api_sdk/models/operations/createreferralsembedtoken_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/createtag_requestbody.rb +0 -32
 - data/lib/open_api_sdk/models/operations/createtag_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/customer.rb +0 -33
 - data/lib/open_api_sdk/models/operations/data.rb +0 -130
 - data/lib/open_api_sdk/models/operations/deletecustomer_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletecustomer_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/deletecustomer_responsebody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletedomain_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletedomain_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/deletedomain_responsebody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletefolder_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletefolder_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletelink_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletelink_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/deletelink_responsebody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletetag_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/deletetag_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/deletetag_responsebody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/discount.rb +0 -48
 - data/lib/open_api_sdk/models/operations/event.rb +0 -20
 - data/lib/open_api_sdk/models/operations/getcustomer_discount.rb +0 -48
 - data/lib/open_api_sdk/models/operations/getcustomer_link.rb +0 -39
 - data/lib/open_api_sdk/models/operations/getcustomer_partner.rb +0 -33
 - data/lib/open_api_sdk/models/operations/getcustomer_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/getcustomer_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getcustomer_type.rb +0 -18
 - data/lib/open_api_sdk/models/operations/getcustomers_link.rb +0 -39
 - data/lib/open_api_sdk/models/operations/getcustomers_partner.rb +0 -33
 - data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortby.rb +0 -18
 - data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortorder.rb +0 -18
 - data/lib/open_api_sdk/models/operations/getcustomers_request.rb +0 -51
 - data/lib/open_api_sdk/models/operations/getcustomers_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getcustomers_type.rb +0 -18
 - data/lib/open_api_sdk/models/operations/getlinkinfo_request.rb +0 -33
 - data/lib/open_api_sdk/models/operations/getlinkinfo_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getlinks_request.rb +0 -66
 - data/lib/open_api_sdk/models/operations/getlinks_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +0 -54
 - data/lib/open_api_sdk/models/operations/getlinkscount_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getqrcode_request.rb +0 -48
 - data/lib/open_api_sdk/models/operations/getqrcode_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rb +0 -18
 - data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rb +0 -18
 - data/lib/open_api_sdk/models/operations/gettags_request.rb +0 -39
 - data/lib/open_api_sdk/models/operations/gettags_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/getworkspace_request.rb +0 -24
 - data/lib/open_api_sdk/models/operations/getworkspace_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/groupby.rb +0 -37
 - data/lib/open_api_sdk/models/operations/interval.rb +0 -25
 - data/lib/open_api_sdk/models/operations/level.rb +0 -20
 - data/lib/open_api_sdk/models/operations/link.rb +0 -48
 - data/lib/open_api_sdk/models/operations/linkprops.rb +0 -111
 - data/lib/open_api_sdk/models/operations/listcommissions_queryparam_interval.rb +0 -25
 - data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortby.rb +0 -18
 - data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortorder.rb +0 -18
 - data/lib/open_api_sdk/models/operations/listcommissions_request.rb +0 -60
 - data/lib/open_api_sdk/models/operations/listcommissions_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +0 -51
 - data/lib/open_api_sdk/models/operations/listcommissions_status.rb +0 -23
 - data/lib/open_api_sdk/models/operations/listcommissions_type.rb +0 -20
 - data/lib/open_api_sdk/models/operations/listdomains_request.rb +0 -33
 - data/lib/open_api_sdk/models/operations/listdomains_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/listevents_request.rb +0 -138
 - data/lib/open_api_sdk/models/operations/listevents_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/listfolders_request.rb +0 -30
 - data/lib/open_api_sdk/models/operations/listfolders_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/mode.rb +0 -18
 - data/lib/open_api_sdk/models/operations/order.rb +0 -20
 - data/lib/open_api_sdk/models/operations/partner.rb +0 -45
 - data/lib/open_api_sdk/models/operations/paymentprocessor.rb +0 -21
 - data/lib/open_api_sdk/models/operations/queryparam_event.rb +0 -19
 - data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +0 -19
 - data/lib/open_api_sdk/models/operations/queryparam_interval.rb +0 -25
 - data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +0 -17
 - data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +0 -18
 - data/lib/open_api_sdk/models/operations/queryparam_status.rb +0 -23
 - data/lib/open_api_sdk/models/operations/queryparam_trigger.rb +0 -18
 - data/lib/open_api_sdk/models/operations/registerdomain_requestbody.rb +0 -24
 - data/lib/open_api_sdk/models/operations/registerdomain_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/registerdomain_responsebody.rb +0 -30
 - data/lib/open_api_sdk/models/operations/requestbody.rb +0 -145
 - data/lib/open_api_sdk/models/operations/responsebody.rb +0 -33
 - data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +0 -126
 - data/lib/open_api_sdk/models/operations/retrieveanalytics_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/retrievelinks_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/retrievelinks_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +0 -25
 - data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +0 -42
 - data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/sale.rb +0 -36
 - data/lib/open_api_sdk/models/operations/sort.rb +0 -22
 - data/lib/open_api_sdk/models/operations/sortby.rb +0 -20
 - data/lib/open_api_sdk/models/operations/sortorder.rb +0 -18
 - data/lib/open_api_sdk/models/operations/status.rb +0 -20
 - data/lib/open_api_sdk/models/operations/testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +0 -48
 - data/lib/open_api_sdk/models/operations/tracklead_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +0 -27
 - data/lib/open_api_sdk/models/operations/tracksale_customer.rb +0 -36
 - data/lib/open_api_sdk/models/operations/tracksale_requestbody.rb +0 -45
 - data/lib/open_api_sdk/models/operations/tracksale_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/tracksale_responsebody.rb +0 -30
 - data/lib/open_api_sdk/models/operations/trigger.rb +0 -18
 - data/lib/open_api_sdk/models/operations/type.rb +0 -20
 - data/lib/open_api_sdk/models/operations/updatecommission_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +0 -33
 - data/lib/open_api_sdk/models/operations/updatecommission_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +0 -51
 - data/lib/open_api_sdk/models/operations/updatecommission_status.rb +0 -23
 - data/lib/open_api_sdk/models/operations/updatecommission_type.rb +0 -20
 - data/lib/open_api_sdk/models/operations/updatecustomer_discount.rb +0 -48
 - data/lib/open_api_sdk/models/operations/updatecustomer_link.rb +0 -39
 - data/lib/open_api_sdk/models/operations/updatecustomer_partner.rb +0 -33
 - data/lib/open_api_sdk/models/operations/updatecustomer_request.rb +0 -30
 - data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +0 -33
 - data/lib/open_api_sdk/models/operations/updatecustomer_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updatecustomer_type.rb +0 -18
 - data/lib/open_api_sdk/models/operations/updatedomain_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatedomain_requestbody.rb +0 -45
 - data/lib/open_api_sdk/models/operations/updatedomain_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updatefolder_accesslevel.rb +0 -18
 - data/lib/open_api_sdk/models/operations/updatefolder_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatefolder_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updatelink_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +0 -139
 - data/lib/open_api_sdk/models/operations/updatelink_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updatelink_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatetag_color.rb +0 -23
 - data/lib/open_api_sdk/models/operations/updatetag_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updatetag_requestbody.rb +0 -32
 - data/lib/open_api_sdk/models/operations/updatetag_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/updateworkspace_request.rb +0 -27
 - data/lib/open_api_sdk/models/operations/updateworkspace_requestbody.rb +0 -36
 - data/lib/open_api_sdk/models/operations/updateworkspace_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +0 -145
 - data/lib/open_api_sdk/models/operations/upsertlink_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/upsertlink_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +0 -111
 - data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +0 -39
 - data/lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb +0 -60
 - data/lib/open_api_sdk/models/operations/upsertpartnerlink_testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/operations.rb +0 -198
 - data/lib/open_api_sdk/models/shared/accesslevel.rb +0 -18
 - data/lib/open_api_sdk/models/shared/badrequest.rb +0 -24
 - data/lib/open_api_sdk/models/shared/code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/color.rb +0 -23
 - data/lib/open_api_sdk/models/shared/conflict.rb +0 -24
 - data/lib/open_api_sdk/models/shared/conflict_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/conflict_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/continentcode.rb +0 -23
 - data/lib/open_api_sdk/models/shared/countrycode.rb +0 -266
 - data/lib/open_api_sdk/models/shared/domains.rb +0 -30
 - data/lib/open_api_sdk/models/shared/domainschema.rb +0 -63
 - data/lib/open_api_sdk/models/shared/error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/folderschema.rb +0 -39
 - data/lib/open_api_sdk/models/shared/forbidden.rb +0 -24
 - data/lib/open_api_sdk/models/shared/forbidden_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/forbidden_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/geo.rb +0 -771
 - data/lib/open_api_sdk/models/shared/internalservererror.rb +0 -24
 - data/lib/open_api_sdk/models/shared/internalservererror_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/internalservererror_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/inviteexpired.rb +0 -24
 - data/lib/open_api_sdk/models/shared/inviteexpired_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/inviteexpired_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/linkgeotargeting.rb +0 -771
 - data/lib/open_api_sdk/models/shared/linkschema.rb +0 -172
 - data/lib/open_api_sdk/models/shared/notfound.rb +0 -24
 - data/lib/open_api_sdk/models/shared/notfound_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/notfound_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/plan.rb +0 -24
 - data/lib/open_api_sdk/models/shared/ratelimitexceeded.rb +0 -24
 - data/lib/open_api_sdk/models/shared/ratelimitexceeded_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/ratelimitexceeded_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/registereddomain.rb +0 -30
 - data/lib/open_api_sdk/models/shared/role.rb +0 -18
 - data/lib/open_api_sdk/models/shared/security.rb +0 -24
 - data/lib/open_api_sdk/models/shared/tagschema.rb +0 -30
 - data/lib/open_api_sdk/models/shared/testvariants.rb +0 -27
 - data/lib/open_api_sdk/models/shared/type.rb +0 -18
 - data/lib/open_api_sdk/models/shared/unauthorized.rb +0 -24
 - data/lib/open_api_sdk/models/shared/unauthorized_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/unauthorized_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/unprocessableentity.rb +0 -24
 - data/lib/open_api_sdk/models/shared/unprocessableentity_code.rb +0 -17
 - data/lib/open_api_sdk/models/shared/unprocessableentity_error.rb +0 -30
 - data/lib/open_api_sdk/models/shared/users.rb +0 -27
 - data/lib/open_api_sdk/models/shared/workspaceschema.rb +0 -123
 - data/lib/open_api_sdk/models/shared.rb +0 -55
 - data/lib/open_api_sdk/partners.rb +0 -701
 - data/lib/open_api_sdk/qr_codes.rb +0 -151
 - data/lib/open_api_sdk/sdk_hooks/hooks.rb +0 -103
 - data/lib/open_api_sdk/sdk_hooks/registration.rb +0 -35
 - data/lib/open_api_sdk/sdk_hooks/types.rb +0 -152
 - data/lib/open_api_sdk/sdkconfiguration.rb +0 -75
 - data/lib/open_api_sdk/tags.rb +0 -570
 - data/lib/open_api_sdk/track.rb +0 -302
 - data/lib/open_api_sdk/utils/retries.rb +0 -95
 - data/lib/open_api_sdk/utils/utils.rb +0 -738
 - data/lib/open_api_sdk/workspaces.rb +0 -301
 
| 
         @@ -0,0 +1,299 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #include "matrix.h"
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            #include "lua_cpp_helper.h"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            using namespace dub;
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            /* ============================ Constructors     ====================== */
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            /** dub::Matrix::Matrix()
         
     | 
| 
      
 13 
     | 
    
         
            +
             * app/include/matrix.h:14
         
     | 
| 
      
 14 
     | 
    
         
            +
             */
         
     | 
| 
      
 15 
     | 
    
         
            +
            static int Matrix_Matrix1(lua_State *L) {
         
     | 
| 
      
 16 
     | 
    
         
            +
              Matrix * retval__    = new Matrix();
         
     | 
| 
      
 17 
     | 
    
         
            +
              lua_pushclass<Matrix>(L, retval__, "dub.Matrix");
         
     | 
| 
      
 18 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 19 
     | 
    
         
            +
            }
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            /** dub::Matrix::Matrix(int rows, int cols)
         
     | 
| 
      
 23 
     | 
    
         
            +
             * app/include/matrix.h:16
         
     | 
| 
      
 24 
     | 
    
         
            +
             */
         
     | 
| 
      
 25 
     | 
    
         
            +
            static int Matrix_Matrix2(lua_State *L) {
         
     | 
| 
      
 26 
     | 
    
         
            +
              int rows             = luaL_checkint   (L, 1);
         
     | 
| 
      
 27 
     | 
    
         
            +
              int cols             = luaL_checkint   (L, 2);
         
     | 
| 
      
 28 
     | 
    
         
            +
              Matrix * retval__    = new Matrix(rows, cols);
         
     | 
| 
      
 29 
     | 
    
         
            +
              lua_pushclass<Matrix>(L, retval__, "dub.Matrix");
         
     | 
| 
      
 30 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 31 
     | 
    
         
            +
            }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            /** Overloaded function chooser for Matrix(...) */
         
     | 
| 
      
 36 
     | 
    
         
            +
            static int Matrix_Matrix(lua_State *L) {
         
     | 
| 
      
 37 
     | 
    
         
            +
              int type__ = lua_type(L, 1);
         
     | 
| 
      
 38 
     | 
    
         
            +
              if (type__ == LUA_TNUMBER) {
         
     | 
| 
      
 39 
     | 
    
         
            +
                return Matrix_Matrix2(L);
         
     | 
| 
      
 40 
     | 
    
         
            +
              } else if (type__ == LUA_TNONE) {
         
     | 
| 
      
 41 
     | 
    
         
            +
                return Matrix_Matrix1(L);
         
     | 
| 
      
 42 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 43 
     | 
    
         
            +
                // use any to raise errors
         
     | 
| 
      
 44 
     | 
    
         
            +
                return Matrix_Matrix1(L);
         
     | 
| 
      
 45 
     | 
    
         
            +
              }
         
     | 
| 
      
 46 
     | 
    
         
            +
            }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            /* ============================ Destructor       ====================== */
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            static int Matrix_destructor(lua_State *L) {
         
     | 
| 
      
 51 
     | 
    
         
            +
              Matrix **userdata = (Matrix**)luaL_checkudata(L, 1, "dub.Matrix");
         
     | 
| 
      
 52 
     | 
    
         
            +
              if (*userdata) delete *userdata;
         
     | 
| 
      
 53 
     | 
    
         
            +
              *userdata = NULL;
         
     | 
| 
      
 54 
     | 
    
         
            +
              return 0;
         
     | 
| 
      
 55 
     | 
    
         
            +
            }
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
            /* ============================ tostring         ====================== */
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            static int Matrix__tostring(lua_State *L) {
         
     | 
| 
      
 60 
     | 
    
         
            +
              Matrix **userdata = (Matrix**)luaL_checkudata(L, 1, "dub.Matrix");
         
     | 
| 
      
 61 
     | 
    
         
            +
              lua_pushfstring(L, "dub.Matrix: %p", *userdata);
         
     | 
| 
      
 62 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 63 
     | 
    
         
            +
            }
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            /* ============================ Member Methods   ====================== */
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
            /** double dub::Matrix::cols()
         
     | 
| 
      
 69 
     | 
    
         
            +
             * app/include/matrix.h:29
         
     | 
| 
      
 70 
     | 
    
         
            +
             */
         
     | 
| 
      
 71 
     | 
    
         
            +
            static int Matrix_cols(lua_State *L) {
         
     | 
| 
      
 72 
     | 
    
         
            +
              Matrix *self__       = *((Matrix**)luaL_checkudata(L, 1, "dub.Matrix"));
         
     | 
| 
      
 73 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 74 
     | 
    
         
            +
              double retval__      = self__->cols();
         
     | 
| 
      
 75 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 76 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 77 
     | 
    
         
            +
            }
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            /** double dub::Matrix::rows()
         
     | 
| 
      
 81 
     | 
    
         
            +
             * app/include/matrix.h:33
         
     | 
| 
      
 82 
     | 
    
         
            +
             */
         
     | 
| 
      
 83 
     | 
    
         
            +
            static int Matrix_rows(lua_State *L) {
         
     | 
| 
      
 84 
     | 
    
         
            +
              Matrix *self__       = *((Matrix**)luaL_checkudata(L, 1, "dub.Matrix"));
         
     | 
| 
      
 85 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 86 
     | 
    
         
            +
              double retval__      = self__->rows();
         
     | 
| 
      
 87 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 88 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 89 
     | 
    
         
            +
            }
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            /** size_t dub::Matrix::size()
         
     | 
| 
      
 93 
     | 
    
         
            +
             * app/include/matrix.h:25
         
     | 
| 
      
 94 
     | 
    
         
            +
             */
         
     | 
| 
      
 95 
     | 
    
         
            +
            static int Matrix_size(lua_State *L) {
         
     | 
| 
      
 96 
     | 
    
         
            +
              Matrix *self__       = *((Matrix**)luaL_checkudata(L, 1, "dub.Matrix"));
         
     | 
| 
      
 97 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 98 
     | 
    
         
            +
              size_t retval__      = self__->size();
         
     | 
| 
      
 99 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 100 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 101 
     | 
    
         
            +
            }
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
            /* ============================ Lua Registration ====================== */
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
            static const struct luaL_Reg Matrix_member_methods[] = {
         
     | 
| 
      
 109 
     | 
    
         
            +
              {"cols"              , Matrix_cols},
         
     | 
| 
      
 110 
     | 
    
         
            +
              {"rows"              , Matrix_rows},
         
     | 
| 
      
 111 
     | 
    
         
            +
              {"size"              , Matrix_size},
         
     | 
| 
      
 112 
     | 
    
         
            +
              {"__tostring"        , Matrix__tostring},
         
     | 
| 
      
 113 
     | 
    
         
            +
              {"__gc"              , Matrix_destructor},
         
     | 
| 
      
 114 
     | 
    
         
            +
              {NULL, NULL},
         
     | 
| 
      
 115 
     | 
    
         
            +
            };
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            static const struct luaL_Reg Matrix_namespace_methods[] = {
         
     | 
| 
      
 118 
     | 
    
         
            +
              {"Matrix"            , Matrix_Matrix},
         
     | 
| 
      
 119 
     | 
    
         
            +
              {NULL, NULL},
         
     | 
| 
      
 120 
     | 
    
         
            +
            };
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
            static void luaopen_dub_Matrix(lua_State *L) {
         
     | 
| 
      
 123 
     | 
    
         
            +
              // Create the metatable which will contain all the member methods
         
     | 
| 
      
 124 
     | 
    
         
            +
              luaL_newmetatable(L, "dub.Matrix"); // "dub.Matrix"
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
              // metatable.__index = metatable (find methods in the table itself)
         
     | 
| 
      
 127 
     | 
    
         
            +
              lua_pushvalue(L, -1);
         
     | 
| 
      
 128 
     | 
    
         
            +
              lua_setfield(L, -2, "__index");
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
      
 130 
     | 
    
         
            +
              // register member methods
         
     | 
| 
      
 131 
     | 
    
         
            +
              luaL_register(L, NULL, Matrix_member_methods);  // dub_Matrix_member_methods
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
              // register class methods in a global table like "dub.Matrix"
         
     | 
| 
      
 134 
     | 
    
         
            +
              luaL_register(L, "dub", Matrix_namespace_methods); // dub_Matrix_class_methods
         
     | 
| 
      
 135 
     | 
    
         
            +
            }
         
     | 
| 
      
 136 
     | 
    
         
            +
            #include "matrix.h"
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
            #include "lua_cpp_helper.h"
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
             
     | 
| 
      
 141 
     | 
    
         
            +
            using namespace dub;
         
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
            /* ============================ Constructors     ====================== */
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
             
     | 
| 
      
 147 
     | 
    
         
            +
            /** dub::FloatMat::FloatMat()
         
     | 
| 
      
 148 
     | 
    
         
            +
             * app/include/matrix.h:62
         
     | 
| 
      
 149 
     | 
    
         
            +
             */
         
     | 
| 
      
 150 
     | 
    
         
            +
            static int FloatMat_FloatMat1(lua_State *L) {
         
     | 
| 
      
 151 
     | 
    
         
            +
              FloatMat * retval__  = new FloatMat();
         
     | 
| 
      
 152 
     | 
    
         
            +
              lua_pushclass<FloatMat>(L, retval__, "dub.FloatMat");
         
     | 
| 
      
 153 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 154 
     | 
    
         
            +
            }
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
      
 156 
     | 
    
         
            +
             
     | 
| 
      
 157 
     | 
    
         
            +
            /** dub::FloatMat::FloatMat(int rows, int cols)
         
     | 
| 
      
 158 
     | 
    
         
            +
             * app/include/matrix.h:64
         
     | 
| 
      
 159 
     | 
    
         
            +
             */
         
     | 
| 
      
 160 
     | 
    
         
            +
            static int FloatMat_FloatMat2(lua_State *L) {
         
     | 
| 
      
 161 
     | 
    
         
            +
              int rows             = luaL_checkint   (L, 1);
         
     | 
| 
      
 162 
     | 
    
         
            +
              int cols             = luaL_checkint   (L, 2);
         
     | 
| 
      
 163 
     | 
    
         
            +
              FloatMat * retval__  = new FloatMat(rows, cols);
         
     | 
| 
      
 164 
     | 
    
         
            +
              lua_pushclass<FloatMat>(L, retval__, "dub.FloatMat");
         
     | 
| 
      
 165 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 166 
     | 
    
         
            +
            }
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
             
     | 
| 
      
 170 
     | 
    
         
            +
            /** Overloaded function chooser for FloatMat(...) */
         
     | 
| 
      
 171 
     | 
    
         
            +
            static int FloatMat_FloatMat(lua_State *L) {
         
     | 
| 
      
 172 
     | 
    
         
            +
              int type__ = lua_type(L, 1);
         
     | 
| 
      
 173 
     | 
    
         
            +
              if (type__ == LUA_TNUMBER) {
         
     | 
| 
      
 174 
     | 
    
         
            +
                return FloatMat_FloatMat2(L);
         
     | 
| 
      
 175 
     | 
    
         
            +
              } else if (type__ == LUA_TNONE) {
         
     | 
| 
      
 176 
     | 
    
         
            +
                return FloatMat_FloatMat1(L);
         
     | 
| 
      
 177 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 178 
     | 
    
         
            +
                // use any to raise errors
         
     | 
| 
      
 179 
     | 
    
         
            +
                return FloatMat_FloatMat1(L);
         
     | 
| 
      
 180 
     | 
    
         
            +
              }
         
     | 
| 
      
 181 
     | 
    
         
            +
            }
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
      
 183 
     | 
    
         
            +
            /* ============================ Destructor       ====================== */
         
     | 
| 
      
 184 
     | 
    
         
            +
             
     | 
| 
      
 185 
     | 
    
         
            +
            static int FloatMat_destructor(lua_State *L) {
         
     | 
| 
      
 186 
     | 
    
         
            +
              FloatMat **userdata = (FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat");
         
     | 
| 
      
 187 
     | 
    
         
            +
              if (*userdata) delete *userdata;
         
     | 
| 
      
 188 
     | 
    
         
            +
              *userdata = NULL;
         
     | 
| 
      
 189 
     | 
    
         
            +
              return 0;
         
     | 
| 
      
 190 
     | 
    
         
            +
            }
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
            /* ============================ tostring         ====================== */
         
     | 
| 
      
 193 
     | 
    
         
            +
             
     | 
| 
      
 194 
     | 
    
         
            +
            static int FloatMat__tostring(lua_State *L) {
         
     | 
| 
      
 195 
     | 
    
         
            +
              FloatMat **userdata = (FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat");
         
     | 
| 
      
 196 
     | 
    
         
            +
              lua_pushfstring(L, "dub.FloatMat: %p", *userdata);
         
     | 
| 
      
 197 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 198 
     | 
    
         
            +
            }
         
     | 
| 
      
 199 
     | 
    
         
            +
             
     | 
| 
      
 200 
     | 
    
         
            +
            /* ============================ Member Methods   ====================== */
         
     | 
| 
      
 201 
     | 
    
         
            +
             
     | 
| 
      
 202 
     | 
    
         
            +
             
     | 
| 
      
 203 
     | 
    
         
            +
            /** size_t dub::FloatMat::cols()
         
     | 
| 
      
 204 
     | 
    
         
            +
             * app/include/matrix.h:77
         
     | 
| 
      
 205 
     | 
    
         
            +
             */
         
     | 
| 
      
 206 
     | 
    
         
            +
            static int FloatMat_cols(lua_State *L) {
         
     | 
| 
      
 207 
     | 
    
         
            +
              FloatMat *self__     = *((FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat"));
         
     | 
| 
      
 208 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 209 
     | 
    
         
            +
              size_t retval__      = self__->cols();
         
     | 
| 
      
 210 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 211 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 212 
     | 
    
         
            +
            }
         
     | 
| 
      
 213 
     | 
    
         
            +
             
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
            /** void dub::FloatMat::fill(T value)
         
     | 
| 
      
 216 
     | 
    
         
            +
             * app/include/matrix.h:85
         
     | 
| 
      
 217 
     | 
    
         
            +
             */
         
     | 
| 
      
 218 
     | 
    
         
            +
            static int FloatMat_fill(lua_State *L) {
         
     | 
| 
      
 219 
     | 
    
         
            +
              FloatMat *self__     = *((FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat"));
         
     | 
| 
      
 220 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 221 
     | 
    
         
            +
              float value          = luaL_checknumber(L, 1);
         
     | 
| 
      
 222 
     | 
    
         
            +
              self__->fill(value);
         
     | 
| 
      
 223 
     | 
    
         
            +
              return 0;
         
     | 
| 
      
 224 
     | 
    
         
            +
            }
         
     | 
| 
      
 225 
     | 
    
         
            +
             
     | 
| 
      
 226 
     | 
    
         
            +
             
     | 
| 
      
 227 
     | 
    
         
            +
            /** T dub::FloatMat::get(size_t row, size_t col)
         
     | 
| 
      
 228 
     | 
    
         
            +
             * app/include/matrix.h:89
         
     | 
| 
      
 229 
     | 
    
         
            +
             */
         
     | 
| 
      
 230 
     | 
    
         
            +
            static int FloatMat_get(lua_State *L) {
         
     | 
| 
      
 231 
     | 
    
         
            +
              FloatMat *self__     = *((FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat"));
         
     | 
| 
      
 232 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 233 
     | 
    
         
            +
              size_t row           = luaL_checknumber(L, 1);
         
     | 
| 
      
 234 
     | 
    
         
            +
              size_t col           = luaL_checknumber(L, 2);
         
     | 
| 
      
 235 
     | 
    
         
            +
              float retval__       = self__->get(row, col);
         
     | 
| 
      
 236 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 237 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 238 
     | 
    
         
            +
            }
         
     | 
| 
      
 239 
     | 
    
         
            +
             
     | 
| 
      
 240 
     | 
    
         
            +
             
     | 
| 
      
 241 
     | 
    
         
            +
            /** size_t dub::FloatMat::rows()
         
     | 
| 
      
 242 
     | 
    
         
            +
             * app/include/matrix.h:81
         
     | 
| 
      
 243 
     | 
    
         
            +
             */
         
     | 
| 
      
 244 
     | 
    
         
            +
            static int FloatMat_rows(lua_State *L) {
         
     | 
| 
      
 245 
     | 
    
         
            +
              FloatMat *self__     = *((FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat"));
         
     | 
| 
      
 246 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 247 
     | 
    
         
            +
              size_t retval__      = self__->rows();
         
     | 
| 
      
 248 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 249 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 250 
     | 
    
         
            +
            }
         
     | 
| 
      
 251 
     | 
    
         
            +
             
     | 
| 
      
 252 
     | 
    
         
            +
             
     | 
| 
      
 253 
     | 
    
         
            +
            /** size_t dub::FloatMat::size()
         
     | 
| 
      
 254 
     | 
    
         
            +
             * app/include/matrix.h:73
         
     | 
| 
      
 255 
     | 
    
         
            +
             */
         
     | 
| 
      
 256 
     | 
    
         
            +
            static int FloatMat_size(lua_State *L) {
         
     | 
| 
      
 257 
     | 
    
         
            +
              FloatMat *self__     = *((FloatMat**)luaL_checkudata(L, 1, "dub.FloatMat"));
         
     | 
| 
      
 258 
     | 
    
         
            +
              lua_remove(L, 1);
         
     | 
| 
      
 259 
     | 
    
         
            +
              size_t retval__      = self__->size();
         
     | 
| 
      
 260 
     | 
    
         
            +
              lua_pushnumber(L, retval__);
         
     | 
| 
      
 261 
     | 
    
         
            +
              return 1;
         
     | 
| 
      
 262 
     | 
    
         
            +
            }
         
     | 
| 
      
 263 
     | 
    
         
            +
             
     | 
| 
      
 264 
     | 
    
         
            +
             
     | 
| 
      
 265 
     | 
    
         
            +
             
     | 
| 
      
 266 
     | 
    
         
            +
             
     | 
| 
      
 267 
     | 
    
         
            +
            /* ============================ Lua Registration ====================== */
         
     | 
| 
      
 268 
     | 
    
         
            +
             
     | 
| 
      
 269 
     | 
    
         
            +
            static const struct luaL_Reg FloatMat_member_methods[] = {
         
     | 
| 
      
 270 
     | 
    
         
            +
              {"cols"              , FloatMat_cols},
         
     | 
| 
      
 271 
     | 
    
         
            +
              {"fill"              , FloatMat_fill},
         
     | 
| 
      
 272 
     | 
    
         
            +
              {"get"               , FloatMat_get},
         
     | 
| 
      
 273 
     | 
    
         
            +
              {"rows"              , FloatMat_rows},
         
     | 
| 
      
 274 
     | 
    
         
            +
              {"size"              , FloatMat_size},
         
     | 
| 
      
 275 
     | 
    
         
            +
              {"__tostring"        , FloatMat__tostring},
         
     | 
| 
      
 276 
     | 
    
         
            +
              {"__gc"              , FloatMat_destructor},
         
     | 
| 
      
 277 
     | 
    
         
            +
              {NULL, NULL},
         
     | 
| 
      
 278 
     | 
    
         
            +
            };
         
     | 
| 
      
 279 
     | 
    
         
            +
             
     | 
| 
      
 280 
     | 
    
         
            +
            static const struct luaL_Reg FloatMat_namespace_methods[] = {
         
     | 
| 
      
 281 
     | 
    
         
            +
              {"FloatMat"          , FloatMat_FloatMat},
         
     | 
| 
      
 282 
     | 
    
         
            +
              {"FMatrix"           , FloatMat_FloatMat},
         
     | 
| 
      
 283 
     | 
    
         
            +
              {NULL, NULL},
         
     | 
| 
      
 284 
     | 
    
         
            +
            };
         
     | 
| 
      
 285 
     | 
    
         
            +
             
     | 
| 
      
 286 
     | 
    
         
            +
            static void luaopen_dub_FloatMat(lua_State *L) {
         
     | 
| 
      
 287 
     | 
    
         
            +
              // Create the metatable which will contain all the member methods
         
     | 
| 
      
 288 
     | 
    
         
            +
              luaL_newmetatable(L, "dub.FloatMat"); // "dub.Matrix"
         
     | 
| 
      
 289 
     | 
    
         
            +
             
     | 
| 
      
 290 
     | 
    
         
            +
              // metatable.__index = metatable (find methods in the table itself)
         
     | 
| 
      
 291 
     | 
    
         
            +
              lua_pushvalue(L, -1);
         
     | 
| 
      
 292 
     | 
    
         
            +
              lua_setfield(L, -2, "__index");
         
     | 
| 
      
 293 
     | 
    
         
            +
             
     | 
| 
      
 294 
     | 
    
         
            +
              // register member methods
         
     | 
| 
      
 295 
     | 
    
         
            +
              luaL_register(L, NULL, FloatMat_member_methods);  // dub_Matrix_member_methods
         
     | 
| 
      
 296 
     | 
    
         
            +
             
     | 
| 
      
 297 
     | 
    
         
            +
              // register class methods in a global table like "dub.Matrix"
         
     | 
| 
      
 298 
     | 
    
         
            +
              luaL_register(L, "dub", FloatMat_namespace_methods); // dub_Matrix_class_methods
         
     | 
| 
      
 299 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,153 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #ifndef DOXY_GENERATOR_TEST_FIXTURES_APP_MATRIX_H_
         
     | 
| 
      
 2 
     | 
    
         
            +
            #define DOXY_GENERATOR_TEST_FIXTURES_APP_MATRIX_H_
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            #include <cstring>
         
     | 
| 
      
 5 
     | 
    
         
            +
            #include <stdlib.h> // malloc
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            /** @file */
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            namespace dub {
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class Matrix {
         
     | 
| 
      
 13 
     | 
    
         
            +
            public:
         
     | 
| 
      
 14 
     | 
    
         
            +
              Matrix() : data_(NULL), rows_(0), cols_(0) {}
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              Matrix(int rows, int cols) : rows_(rows), cols_(cols) {
         
     | 
| 
      
 17 
     | 
    
         
            +
                data_ = (double*)malloc(size() * sizeof(double));
         
     | 
| 
      
 18 
     | 
    
         
            +
              }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              ~Matrix() {
         
     | 
| 
      
 21 
     | 
    
         
            +
                if (data_) free(data_);
         
     | 
| 
      
 22 
     | 
    
         
            +
              }
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              /** Return size of matrix (rows * cols). */
         
     | 
| 
      
 25 
     | 
    
         
            +
              size_t size() {
         
     | 
| 
      
 26 
     | 
    
         
            +
                return rows_ * cols_;
         
     | 
| 
      
 27 
     | 
    
         
            +
              }
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              double cols() {
         
     | 
| 
      
 30 
     | 
    
         
            +
                return cols_;
         
     | 
| 
      
 31 
     | 
    
         
            +
              }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              double rows() {
         
     | 
| 
      
 34 
     | 
    
         
            +
                return rows_;
         
     | 
| 
      
 35 
     | 
    
         
            +
              }
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              /** Dummy template based class method.
         
     | 
| 
      
 38 
     | 
    
         
            +
               */
         
     | 
| 
      
 39 
     | 
    
         
            +
              template<class T>
         
     | 
| 
      
 40 
     | 
    
         
            +
              T *give_me_tea() {
         
     | 
| 
      
 41 
     | 
    
         
            +
                return new T();
         
     | 
| 
      
 42 
     | 
    
         
            +
              }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
              operator size_t() {
         
     | 
| 
      
 45 
     | 
    
         
            +
                return size();
         
     | 
| 
      
 46 
     | 
    
         
            +
              }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
              void mul(TMat<int> other) {
         
     | 
| 
      
 49 
     | 
    
         
            +
                // dummy
         
     | 
| 
      
 50 
     | 
    
         
            +
              }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
              void do_something(int i, bool fast=false) {
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
              }
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
              void use_other_lib(const std::string &name) {
         
     | 
| 
      
 57 
     | 
    
         
            +
                // dummy
         
     | 
| 
      
 58 
     | 
    
         
            +
              }
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
              int *ptr() {
         
     | 
| 
      
 61 
     | 
    
         
            +
                // dummy
         
     | 
| 
      
 62 
     | 
    
         
            +
              }
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
              /** Named constructor.
         
     | 
| 
      
 65 
     | 
    
         
            +
               */
         
     | 
| 
      
 66 
     | 
    
         
            +
              static Matrix *MakeMatrix(int rows, int cols) {
         
     | 
| 
      
 67 
     | 
    
         
            +
                return new Matrix(rows, cols);
         
     | 
| 
      
 68 
     | 
    
         
            +
              }
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            private:
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
              int private_method() {
         
     | 
| 
      
 73 
     | 
    
         
            +
                // should not be implemented
         
     | 
| 
      
 74 
     | 
    
         
            +
                return 0;
         
     | 
| 
      
 75 
     | 
    
         
            +
              }
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            protected:
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
              int protected_method() {
         
     | 
| 
      
 80 
     | 
    
         
            +
                // should not be implemented
         
     | 
| 
      
 81 
     | 
    
         
            +
                return 0;
         
     | 
| 
      
 82 
     | 
    
         
            +
              }
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
              double *data_;
         
     | 
| 
      
 85 
     | 
    
         
            +
              size_t rows_;
         
     | 
| 
      
 86 
     | 
    
         
            +
              size_t cols_;
         
     | 
| 
      
 87 
     | 
    
         
            +
            };
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            template<class T>
         
     | 
| 
      
 91 
     | 
    
         
            +
            class TMat {
         
     | 
| 
      
 92 
     | 
    
         
            +
            public:
         
     | 
| 
      
 93 
     | 
    
         
            +
              TMat() : data_(NULL), rows_(0), cols_(0) {}
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
              TMat(int rows, int cols) : rows_(rows), cols_(cols) {
         
     | 
| 
      
 96 
     | 
    
         
            +
                data_ = (T*)malloc(size() * sizeof(T));
         
     | 
| 
      
 97 
     | 
    
         
            +
              }
         
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
      
 99 
     | 
    
         
            +
              // test constructor with T parameter
         
     | 
| 
      
 100 
     | 
    
         
            +
              TMat(T dummy) {
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
              }
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
              ~TMat() {
         
     | 
| 
      
 105 
     | 
    
         
            +
                if (data_) free(data_);
         
     | 
| 
      
 106 
     | 
    
         
            +
              }
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
              /** Dummy template based class method.
         
     | 
| 
      
 109 
     | 
    
         
            +
               */
         
     | 
| 
      
 110 
     | 
    
         
            +
              template<class T2>
         
     | 
| 
      
 111 
     | 
    
         
            +
              T2 *give_me_tea() {
         
     | 
| 
      
 112 
     | 
    
         
            +
                return new T2();
         
     | 
| 
      
 113 
     | 
    
         
            +
              }
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
              /** Return size of matrix (rows * cols). */
         
     | 
| 
      
 116 
     | 
    
         
            +
              size_t size() {
         
     | 
| 
      
 117 
     | 
    
         
            +
                return rows_ * cols_;
         
     | 
| 
      
 118 
     | 
    
         
            +
              }
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
              size_t cols() {
         
     | 
| 
      
 121 
     | 
    
         
            +
                return cols_;
         
     | 
| 
      
 122 
     | 
    
         
            +
              }
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
              size_t rows() {
         
     | 
| 
      
 125 
     | 
    
         
            +
                return rows_;
         
     | 
| 
      
 126 
     | 
    
         
            +
              }
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
              void fill(T value) {
         
     | 
| 
      
 129 
     | 
    
         
            +
                // dummy
         
     | 
| 
      
 130 
     | 
    
         
            +
              }
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
              void FunkyThing(double v[7]) {
         
     | 
| 
      
 133 
     | 
    
         
            +
             
     | 
| 
      
 134 
     | 
    
         
            +
              }
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
              T get(size_t row, size_t col) {
         
     | 
| 
      
 137 
     | 
    
         
            +
                return data_[row * cols_ + col];
         
     | 
| 
      
 138 
     | 
    
         
            +
              }
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
            private:
         
     | 
| 
      
 141 
     | 
    
         
            +
              T *data_;
         
     | 
| 
      
 142 
     | 
    
         
            +
              size_t rows_;
         
     | 
| 
      
 143 
     | 
    
         
            +
              size_t cols_;
         
     | 
| 
      
 144 
     | 
    
         
            +
            };
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
            /** @var FloatMat
         
     | 
| 
      
 147 
     | 
    
         
            +
             */
         
     | 
| 
      
 148 
     | 
    
         
            +
            typedef TMat<float> FloatMat;
         
     | 
| 
      
 149 
     | 
    
         
            +
            typedef FloatMat FMatrix;
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
      
 151 
     | 
    
         
            +
            } // dub
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
            #endif // DOXY_GENERATOR_TEST_FIXTURES_APP_MATRIX_H_
         
     | 
| 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'dub'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'dub/lua'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'pathname'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            dub = Dub.parse(Pathname(__FILE__).dirname + 'xml/namespacedub.xml')[:dub]
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Dub::Lua.bind(dub)
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            File.open(Pathname(__FILE__).dirname + "bindings/all_lua.cpp", 'wb') do |f|
         
     | 
| 
      
 10 
     | 
    
         
            +
              %w{Matrix FloatMat}.each do |name|
         
     | 
| 
      
 11 
     | 
    
         
            +
                f.puts dub[name]
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # ----------------------------------------------------------------------------
         
     | 
| 
      
 2 
     | 
    
         
            +
            #  CMake file for Lua. See root CMakeLists.txt
         
     | 
| 
      
 3 
     | 
    
         
            +
            #
         
     | 
| 
      
 4 
     | 
    
         
            +
            # ----------------------------------------------------------------------------
         
     | 
| 
      
 5 
     | 
    
         
            +
            project(lua)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            include_directories(${CMAKE_CURRENT_SOURCE_DIR})
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            # ----------------------------------------------------------------------------------
         
     | 
| 
      
 10 
     | 
    
         
            +
            # 				Define the library target:
         
     | 
| 
      
 11 
     | 
    
         
            +
            # ----------------------------------------------------------------------------------
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            set(the_target "lua")
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            file(GLOB lib_srcs *.c)
         
     | 
| 
      
 16 
     | 
    
         
            +
            list (REMOVE_ITEM lib_srcs ${CMAKE_CURRENT_SOURCE_DIR}/lua.c ${CMAKE_CURRENT_SOURCE_DIR}/luac.c)
         
     | 
| 
      
 17 
     | 
    
         
            +
            file(GLOB lib_hdrs *.h)
         
     | 
| 
      
 18 
     | 
    
         
            +
            set(lib_ext_hdrs)
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs})
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            set_target_properties(${the_target}
         
     | 
| 
      
 23 
     | 
    
         
            +
            	PROPERTIES OUTPUT_NAME "${the_target}"
         
     | 
| 
      
 24 
     | 
    
         
            +
            	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/vendor_lib
         
     | 
| 
      
 25 
     | 
    
         
            +
            	)
         
     | 
| 
         @@ -0,0 +1,34 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Lua License
         
     | 
| 
      
 2 
     | 
    
         
            +
            -----------
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Lua is licensed under the terms of the MIT license reproduced below.
         
     | 
| 
      
 5 
     | 
    
         
            +
            This means that Lua is free software and can be used for both academic
         
     | 
| 
      
 6 
     | 
    
         
            +
            and commercial purposes at absolutely no cost.
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            For details and rationale, see http://www.lua.org/license.html .
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            ===============================================================================
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            Copyright (C) 1994-2007 Lua.org, PUC-Rio.
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining a copy
         
     | 
| 
      
 15 
     | 
    
         
            +
            of this software and associated documentation files (the "Software"), to deal
         
     | 
| 
      
 16 
     | 
    
         
            +
            in the Software without restriction, including without limitation the rights
         
     | 
| 
      
 17 
     | 
    
         
            +
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         
     | 
| 
      
 18 
     | 
    
         
            +
            copies of the Software, and to permit persons to whom the Software is
         
     | 
| 
      
 19 
     | 
    
         
            +
            furnished to do so, subject to the following conditions:
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be included in
         
     | 
| 
      
 22 
     | 
    
         
            +
            all copies or substantial portions of the Software.
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         
     | 
| 
      
 25 
     | 
    
         
            +
            IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         
     | 
| 
      
 26 
     | 
    
         
            +
            FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
         
     | 
| 
      
 27 
     | 
    
         
            +
            AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         
     | 
| 
      
 28 
     | 
    
         
            +
            LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         
     | 
| 
      
 29 
     | 
    
         
            +
            OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
         
     | 
| 
      
 30 
     | 
    
         
            +
            THE SOFTWARE.
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            ===============================================================================
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            (end of COPYRIGHT)
         
     | 
| 
         @@ -0,0 +1,183 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            HISTORY for Lua 5.1
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Changes from version 5.0 to 5.1
         
     | 
| 
      
 4 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 5 
     | 
    
         
            +
              Language:
         
     | 
| 
      
 6 
     | 
    
         
            +
              + new module system.
         
     | 
| 
      
 7 
     | 
    
         
            +
              + new semantics for control variables of fors.
         
     | 
| 
      
 8 
     | 
    
         
            +
              + new semantics for setn/getn.
         
     | 
| 
      
 9 
     | 
    
         
            +
              + new syntax/semantics for varargs.
         
     | 
| 
      
 10 
     | 
    
         
            +
              + new long strings and comments.
         
     | 
| 
      
 11 
     | 
    
         
            +
              + new `mod' operator (`%')
         
     | 
| 
      
 12 
     | 
    
         
            +
              + new length operator #t
         
     | 
| 
      
 13 
     | 
    
         
            +
              + metatables for all types
         
     | 
| 
      
 14 
     | 
    
         
            +
              API:
         
     | 
| 
      
 15 
     | 
    
         
            +
              + new functions: lua_createtable, lua_get(set)field, lua_push(to)integer.
         
     | 
| 
      
 16 
     | 
    
         
            +
              + user supplies memory allocator (lua_open becomes lua_newstate).
         
     | 
| 
      
 17 
     | 
    
         
            +
              + luaopen_* functions must be called through Lua.
         
     | 
| 
      
 18 
     | 
    
         
            +
              Implementation:
         
     | 
| 
      
 19 
     | 
    
         
            +
              + new configuration scheme via luaconf.h.
         
     | 
| 
      
 20 
     | 
    
         
            +
              + incremental garbage collection.
         
     | 
| 
      
 21 
     | 
    
         
            +
              + better handling of end-of-line in the lexer.
         
     | 
| 
      
 22 
     | 
    
         
            +
              + fully reentrant parser (new Lua function `load')
         
     | 
| 
      
 23 
     | 
    
         
            +
              + better support for 64-bit machines.
         
     | 
| 
      
 24 
     | 
    
         
            +
              + native loadlib support for Mac OS X.
         
     | 
| 
      
 25 
     | 
    
         
            +
              + standard distribution in only one library (lualib.a merged into lua.a)
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            * Changes from version 4.0 to 5.0
         
     | 
| 
      
 28 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 29 
     | 
    
         
            +
              Language:
         
     | 
| 
      
 30 
     | 
    
         
            +
              + lexical scoping.
         
     | 
| 
      
 31 
     | 
    
         
            +
              + Lua coroutines.
         
     | 
| 
      
 32 
     | 
    
         
            +
              + standard libraries now packaged in tables.
         
     | 
| 
      
 33 
     | 
    
         
            +
              + tags replaced by metatables and tag methods replaced by metamethods,
         
     | 
| 
      
 34 
     | 
    
         
            +
                stored in metatables.
         
     | 
| 
      
 35 
     | 
    
         
            +
              + proper tail calls.
         
     | 
| 
      
 36 
     | 
    
         
            +
              + each function can have its own global table, which can be shared.
         
     | 
| 
      
 37 
     | 
    
         
            +
              + new __newindex metamethod, called when we insert a new key into a table.
         
     | 
| 
      
 38 
     | 
    
         
            +
              + new block comments: --[[ ... ]].
         
     | 
| 
      
 39 
     | 
    
         
            +
              + new generic for.
         
     | 
| 
      
 40 
     | 
    
         
            +
              + new weak tables.
         
     | 
| 
      
 41 
     | 
    
         
            +
              + new boolean type.
         
     | 
| 
      
 42 
     | 
    
         
            +
              + new syntax "local function".
         
     | 
| 
      
 43 
     | 
    
         
            +
              + (f()) returns the first value returned by f.
         
     | 
| 
      
 44 
     | 
    
         
            +
              + {f()} fills a table with all values returned by f.
         
     | 
| 
      
 45 
     | 
    
         
            +
              + \n ignored in [[\n .
         
     | 
| 
      
 46 
     | 
    
         
            +
              + fixed and-or priorities.
         
     | 
| 
      
 47 
     | 
    
         
            +
              + more general syntax for function definition (e.g. function a.x.y:f()...end).
         
     | 
| 
      
 48 
     | 
    
         
            +
              + more general syntax for function calls (e.g. (print or write)(9)).
         
     | 
| 
      
 49 
     | 
    
         
            +
              + new functions (time/date, tmpfile, unpack, require, load*, etc.).
         
     | 
| 
      
 50 
     | 
    
         
            +
              API:
         
     | 
| 
      
 51 
     | 
    
         
            +
              + chunks are loaded by using lua_load; new luaL_loadfile and luaL_loadbuffer.
         
     | 
| 
      
 52 
     | 
    
         
            +
              + introduced lightweight userdata, a simple "void*" without a metatable.
         
     | 
| 
      
 53 
     | 
    
         
            +
              + new error handling protocol: the core no longer prints error messages;
         
     | 
| 
      
 54 
     | 
    
         
            +
                all errors are reported to the caller on the stack.
         
     | 
| 
      
 55 
     | 
    
         
            +
              + new lua_atpanic for host cleanup.
         
     | 
| 
      
 56 
     | 
    
         
            +
              + new, signal-safe, hook scheme.
         
     | 
| 
      
 57 
     | 
    
         
            +
              Implementation:
         
     | 
| 
      
 58 
     | 
    
         
            +
              + new license: MIT.
         
     | 
| 
      
 59 
     | 
    
         
            +
              + new, faster, register-based virtual machine.
         
     | 
| 
      
 60 
     | 
    
         
            +
              + support for external multithreading and coroutines.
         
     | 
| 
      
 61 
     | 
    
         
            +
              + new and consistent error message format.
         
     | 
| 
      
 62 
     | 
    
         
            +
              + the core no longer needs "stdio.h" for anything (except for a single
         
     | 
| 
      
 63 
     | 
    
         
            +
                use of sprintf to convert numbers to strings).
         
     | 
| 
      
 64 
     | 
    
         
            +
              + lua.c now runs the environment variable LUA_INIT, if present. It can
         
     | 
| 
      
 65 
     | 
    
         
            +
                be "@filename", to run a file, or the chunk itself.
         
     | 
| 
      
 66 
     | 
    
         
            +
              + support for user extensions in lua.c.
         
     | 
| 
      
 67 
     | 
    
         
            +
                sample implementation given for command line editing.
         
     | 
| 
      
 68 
     | 
    
         
            +
              + new dynamic loading library, active by default on several platforms.
         
     | 
| 
      
 69 
     | 
    
         
            +
              + safe garbage-collector metamethods.
         
     | 
| 
      
 70 
     | 
    
         
            +
              + precompiled bytecodes checked for integrity (secure binary dostring).
         
     | 
| 
      
 71 
     | 
    
         
            +
              + strings are fully aligned.
         
     | 
| 
      
 72 
     | 
    
         
            +
              + position capture in string.find.
         
     | 
| 
      
 73 
     | 
    
         
            +
              + read('*l') can read lines with embedded zeros.
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
            * Changes from version 3.2 to 4.0
         
     | 
| 
      
 76 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 77 
     | 
    
         
            +
              Language:
         
     | 
| 
      
 78 
     | 
    
         
            +
              + new "break" and "for" statements (both numerical and for tables).
         
     | 
| 
      
 79 
     | 
    
         
            +
              + uniform treatment of globals: globals are now stored in a Lua table.
         
     | 
| 
      
 80 
     | 
    
         
            +
              + improved error messages.
         
     | 
| 
      
 81 
     | 
    
         
            +
              + no more '$debug': full speed *and* full debug information.
         
     | 
| 
      
 82 
     | 
    
         
            +
              + new read form: read(N) for next N bytes.
         
     | 
| 
      
 83 
     | 
    
         
            +
              + general read patterns now deprecated.
         
     | 
| 
      
 84 
     | 
    
         
            +
                (still available with -DCOMPAT_READPATTERNS.)
         
     | 
| 
      
 85 
     | 
    
         
            +
              + all return values are passed as arguments for the last function
         
     | 
| 
      
 86 
     | 
    
         
            +
                (old semantics still available with -DLUA_COMPAT_ARGRET)
         
     | 
| 
      
 87 
     | 
    
         
            +
              + garbage collection tag methods for tables now deprecated.
         
     | 
| 
      
 88 
     | 
    
         
            +
              + there is now only one tag method for order.
         
     | 
| 
      
 89 
     | 
    
         
            +
              API:
         
     | 
| 
      
 90 
     | 
    
         
            +
              + New API: fully re-entrant, simpler, and more efficient.
         
     | 
| 
      
 91 
     | 
    
         
            +
              + New debug API.
         
     | 
| 
      
 92 
     | 
    
         
            +
              Implementation:
         
     | 
| 
      
 93 
     | 
    
         
            +
              + faster than ever: cleaner virtual machine and new hashing algorithm.
         
     | 
| 
      
 94 
     | 
    
         
            +
              + non-recursive garbage-collector algorithm.
         
     | 
| 
      
 95 
     | 
    
         
            +
              + reduced memory usage for programs with many strings.
         
     | 
| 
      
 96 
     | 
    
         
            +
              + improved treatment for memory allocation errors.
         
     | 
| 
      
 97 
     | 
    
         
            +
              + improved support for 16-bit machines (we hope).
         
     | 
| 
      
 98 
     | 
    
         
            +
              + code now compiles unmodified as both ANSI C and C++.
         
     | 
| 
      
 99 
     | 
    
         
            +
              + numbers in bases other than 10 are converted using strtoul.
         
     | 
| 
      
 100 
     | 
    
         
            +
              + new -f option in Lua to support #! scripts.
         
     | 
| 
      
 101 
     | 
    
         
            +
              + luac can now combine text and binaries.
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
            * Changes from version 3.1 to 3.2
         
     | 
| 
      
 104 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 105 
     | 
    
         
            +
              + redirected all output in Lua's core to _ERRORMESSAGE and _ALERT.
         
     | 
| 
      
 106 
     | 
    
         
            +
              + increased limit on the number of constants and globals per function
         
     | 
| 
      
 107 
     | 
    
         
            +
                (from 2^16 to 2^24).
         
     | 
| 
      
 108 
     | 
    
         
            +
              + debugging info (lua_debug and hooks) moved into lua_state and new API
         
     | 
| 
      
 109 
     | 
    
         
            +
                functions provided to get and set this info.
         
     | 
| 
      
 110 
     | 
    
         
            +
              + new debug lib gives full debugging access within Lua.
         
     | 
| 
      
 111 
     | 
    
         
            +
              + new table functions "foreachi", "sort", "tinsert", "tremove", "getn".
         
     | 
| 
      
 112 
     | 
    
         
            +
              + new io functions "flush", "seek".
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
            * Changes from version 3.0 to 3.1
         
     | 
| 
      
 115 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 116 
     | 
    
         
            +
              + NEW FEATURE: anonymous functions with closures (via "upvalues").
         
     | 
| 
      
 117 
     | 
    
         
            +
              + new syntax:
         
     | 
| 
      
 118 
     | 
    
         
            +
                - local variables in chunks.
         
     | 
| 
      
 119 
     | 
    
         
            +
                - better scope control with DO block END.
         
     | 
| 
      
 120 
     | 
    
         
            +
                - constructors can now be also written: { record-part; list-part }.
         
     | 
| 
      
 121 
     | 
    
         
            +
                - more general syntax for function calls and lvalues, e.g.:
         
     | 
| 
      
 122 
     | 
    
         
            +
                  f(x).y=1
         
     | 
| 
      
 123 
     | 
    
         
            +
                  o:f(x,y):g(z)
         
     | 
| 
      
 124 
     | 
    
         
            +
                  f"string" is sugar for f("string")
         
     | 
| 
      
 125 
     | 
    
         
            +
              + strings may now contain arbitrary binary data (e.g., embedded zeros).
         
     | 
| 
      
 126 
     | 
    
         
            +
              + major code re-organization and clean-up; reduced module interdependecies.
         
     | 
| 
      
 127 
     | 
    
         
            +
              + no arbitrary limits on the total number of constants and globals.
         
     | 
| 
      
 128 
     | 
    
         
            +
              + support for multiple global contexts.
         
     | 
| 
      
 129 
     | 
    
         
            +
              + better syntax error messages.
         
     | 
| 
      
 130 
     | 
    
         
            +
              + new traversal functions "foreach" and "foreachvar".
         
     | 
| 
      
 131 
     | 
    
         
            +
              + the default for numbers is now double.
         
     | 
| 
      
 132 
     | 
    
         
            +
                changing it to use floats or longs is easy.
         
     | 
| 
      
 133 
     | 
    
         
            +
              + complete debug information stored in pre-compiled chunks.
         
     | 
| 
      
 134 
     | 
    
         
            +
              + sample interpreter now prompts user when run interactively, and also
         
     | 
| 
      
 135 
     | 
    
         
            +
                handles control-C interruptions gracefully.
         
     | 
| 
      
 136 
     | 
    
         
            +
             
     | 
| 
      
 137 
     | 
    
         
            +
            * Changes from version 2.5 to 3.0
         
     | 
| 
      
 138 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 139 
     | 
    
         
            +
              + NEW CONCEPT: "tag methods".
         
     | 
| 
      
 140 
     | 
    
         
            +
                Tag methods replace fallbacks as the meta-mechanism for extending the
         
     | 
| 
      
 141 
     | 
    
         
            +
                semantics of Lua. Whereas fallbacks had a global nature, tag methods
         
     | 
| 
      
 142 
     | 
    
         
            +
                work on objects having the same tag (e.g., groups of tables).
         
     | 
| 
      
 143 
     | 
    
         
            +
                Existing code that uses fallbacks should work without change.
         
     | 
| 
      
 144 
     | 
    
         
            +
              + new, general syntax for constructors {[exp] = exp, ... }.
         
     | 
| 
      
 145 
     | 
    
         
            +
              + support for handling variable number of arguments in functions (varargs).
         
     | 
| 
      
 146 
     | 
    
         
            +
              + support for conditional compilation ($if ... $else ... $end).
         
     | 
| 
      
 147 
     | 
    
         
            +
              + cleaner semantics in API simplifies host code.
         
     | 
| 
      
 148 
     | 
    
         
            +
              + better support for writing libraries (auxlib.h).
         
     | 
| 
      
 149 
     | 
    
         
            +
              + better type checking and error messages in the standard library.
         
     | 
| 
      
 150 
     | 
    
         
            +
              + luac can now also undump.
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
            * Changes from version 2.4 to 2.5
         
     | 
| 
      
 153 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 154 
     | 
    
         
            +
              + io and string libraries are now based on pattern matching;
         
     | 
| 
      
 155 
     | 
    
         
            +
                the old libraries are still available for compatibility
         
     | 
| 
      
 156 
     | 
    
         
            +
              + dofile and dostring can now return values (via return statement)
         
     | 
| 
      
 157 
     | 
    
         
            +
              + better support for 16- and 64-bit machines
         
     | 
| 
      
 158 
     | 
    
         
            +
              + expanded documentation, with more examples
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
            * Changes from version 2.2 to 2.4
         
     | 
| 
      
 161 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 162 
     | 
    
         
            +
              + external compiler creates portable binary files that can be loaded faster
         
     | 
| 
      
 163 
     | 
    
         
            +
              + interface for debugging and profiling
         
     | 
| 
      
 164 
     | 
    
         
            +
              + new "getglobal" fallback
         
     | 
| 
      
 165 
     | 
    
         
            +
              + new functions for handling references to Lua objects
         
     | 
| 
      
 166 
     | 
    
         
            +
              + new functions in standard lib
         
     | 
| 
      
 167 
     | 
    
         
            +
              + only one copy of each string is stored
         
     | 
| 
      
 168 
     | 
    
         
            +
              + expanded documentation, with more examples
         
     | 
| 
      
 169 
     | 
    
         
            +
             
     | 
| 
      
 170 
     | 
    
         
            +
            * Changes from version 2.1 to 2.2
         
     | 
| 
      
 171 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 172 
     | 
    
         
            +
              + functions now may be declared with any "lvalue" as a name
         
     | 
| 
      
 173 
     | 
    
         
            +
              + garbage collection of functions
         
     | 
| 
      
 174 
     | 
    
         
            +
              + support for pipes
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
            * Changes from version 1.1 to 2.1
         
     | 
| 
      
 177 
     | 
    
         
            +
              -------------------------------
         
     | 
| 
      
 178 
     | 
    
         
            +
              + object-oriented support
         
     | 
| 
      
 179 
     | 
    
         
            +
              + fallbacks
         
     | 
| 
      
 180 
     | 
    
         
            +
              + simplified syntax for tables
         
     | 
| 
      
 181 
     | 
    
         
            +
              + many internal improvements
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
      
 183 
     | 
    
         
            +
            (end of HISTORY)
         
     |