ThePhD
42f4455383
Allow for "static functions" to be registered on userdata like other parts of the framework, as well as self-contained structs and lambas.
...
sol::readonly for the ability to make a variable set on a userdata readonly.
No support for property yet: put on issues list for later
2016-04-11 01:02:43 -04:00
ThePhD
9734577fdb
stack implementation, plus reference semantics within lua for usertypes/data now.
...
I hate my life.
I hate the projects I'm working on.
Closes #53
Closes #56
Closes #52
2016-04-07 05:21:49 -04:00
ThePhD
204bd5d5ed
This adds the additional safety features. stack_guard should probably be migrated into the tests too, since a lesser form is already used there.
...
Closes #54 #55
2016-04-04 02:28:39 -04:00
ThePhD
8862c65f0a
NOW we're truly feature complete. Sheesh, the work that this requires....
2016-03-31 16:16:07 -04:00
ThePhD
2d14cedc17
Eat shit, std::tuple
2016-03-31 12:12:04 -04:00
ThePhD
20c4fee60e
unused parameter derp
2016-03-30 02:07:09 -04:00
ThePhD
92c388e30a
And nooow we're set for optional. Totally. With the get_or
implementation as well. Hopefully this will be all we need.
2016-03-30 01:40:40 -04:00
ThePhD
9804d7dd63
Merge remote-tracking branch 'zwparchman/develop' into develop
2016-03-30 00:34:05 -04:00
ThePhD
5acb33e2bc
full-on optional support. so much support it's coming through my eyeballs. Goodness.
...
Support for c_call wrapper to be a thing.
2016-03-30 00:31:18 -04:00
Zachary
6637f2e1b7
Added table::get_with_default method
...
There is now a sol::table::get_with_default method that takes 2
arguments, one being the key to search on, the other being the default.
If the key does not have a value in the table the default value is
returned.
2016-03-29 13:03:19 -05:00
ThePhD
09a0a5051a
Documentation updates and new stack::check_get API.
2016-03-24 15:45:44 -04:00
ThePhD
f43adf9a3d
Additional function creation tables and tests to keep them there.
2016-03-15 07:32:59 -04:00
ThePhD
3de38f8da1
Easier access to specific functions.
2016-03-14 16:10:08 -04:00
ThePhD
97e36f70c5
Alright, NOW everything's kosher. Bwuh, byte order marks...
2016-03-14 09:53:24 -04:00
ThePhD
c42c1bafe5
Documentation fixes, new tests, unique/shared_ptr support.
...
Closes #32
2016-03-13 08:30:14 -04:00
ThePhD
1a9c7484b1
Fix up the API; prepare for release.
2016-03-11 11:34:44 -05:00
ThePhD
c07bbd248c
Formatting and a few new constants.
2016-02-27 02:49:40 -05:00
ThePhD
251e350539
coroutines \o/
2016-02-27 02:43:53 -05:00
ThePhD
7402b1bc95
Clearer names for some of the exposed classes.
2016-02-25 11:07:39 -05:00
ThePhD
9c21d11b8c
Proper defaults for bootstrap.py
...
Checks in g++ to make sure things compile
clang++ is a major asshole...
2016-02-24 13:59:17 -05:00
ThePhD
3d7a93ae1c
Put detail classes not part of the interface into deeper namespaces to clear up the to level.
2016-02-23 23:39:46 -05:00
ThePhD
019c7b037b
Huge improvements to the library and fixes to compile in g++.
...
usertype now respects factory functions and does not make default constructors/destructors unless the compiler says its okay
new and __gc functions can be overridden for usertypes to provide handle-like creation and deletion functions
Overloading match fixes
RAII improvements for all usertypes
Added tests to make sure these features stay
2016-02-21 19:26:58 -05:00
ThePhD
0ee92c0142
This is hard....
2016-02-16 21:22:07 -05:00
ThePhD
1293213775
Several improvements to tunnneling for the library, with included tests
...
Some stack size tests are also included to prevent stack overflow as well.
2016-02-13 20:14:31 -05:00
ThePhD
228609ee17
Addresses derp from refactoring and #12
2016-02-12 12:47:05 -05:00
ThePhD
2788abb34e
Overloading now works and there are tests to back it up. The codebase now relies on some C++14 features explicitly.
2016-02-10 11:36:00 -05:00
ThePhD
9372b54b02
Preparing for overload support
...
Preparing to benchmarking of several different lua frameworks
2016-02-09 03:38:11 -05:00
ThePhD
5034bd7980
Benchmarking will be done in a separate repository, alongside other frameworks.
2016-02-04 20:16:53 -05:00
ThePhD
bb29127785
Proper semantics for set
/get
...
`set_function`/`set_usertype` now properly use `set`
For the time being, we are going to avoid implementing `traverse`; aside from performance of nested table access (e.g. `int x = lua["a"]["b"]["c"]`), it's a pain. ;~;
2016-02-02 16:18:44 -05:00
ThePhD
b66c7f015a
Significant change to how userdata is stored to make access consistent across values/references/pointers.
2016-02-01 11:56:44 -05:00
ThePhD
1d93f560f2
more luajit compatibility fixes - works with Lua 5.1, 5.2, 5.3
...
additional tests to make sure pass-by-value and copy semantics work as intended
new proxy_base class to reduce code duplication
update function / protected_function usage (to solve starwing's issue while keeping code as clean as possible)
2016-02-01 03:27:06 -05:00
ThePhD
27f09fbb35
variadic set - introduction of state_view
type to allow for all of the benefits of state
without destructing lua instance.
2016-01-30 04:21:33 -05:00
ThePhD
f21f9c9959
Ensures value semantics and proper destructor calls.
...
Fixes for tabs/spaces
2016-01-28 19:57:02 -05:00
ThePhD
9ff968a09b
Heavily improved benchmark and first set of optimizations to sol/table.hpp
, providing much lower access times for calling a function.
2016-01-08 16:16:06 -05:00