ThePhD
c458849d29
Many of the tests are still busted, but we're getting closer.
...
Closes #96
Closes #79
Fixes #105 - but we still need to double-check and add a test to prove it
2016-06-06 15:46:53 -04:00
ThePhD
e35fe6be85
This mega-commit implements the new usertype_metatable
while keeping everything else still intact. Blurgh, managing API versions suck...
2016-06-03 21:40:23 -04:00
ThePhD
3b81a7c85f
VC++ is a butt, but this Closes #91
...
It prepares for #97 as well, and blocks out #95 until I can be assed
Now, it's either performance or handling sol::property ...
2016-05-19 02:15:42 -04:00
ThePhD
9e31119f16
This commit adds some QoI constructor keys / types, as well as implements make_object
. The documentation has been updated as well.
...
Closes #78
Closes #77
Closes #76
Closes #75
2016-05-03 14:19:30 -04:00
ThePhD
2497567897
Inclusion argument order sorting
2016-04-23 17:40:22 -04:00
ThePhD
96da27d565
Ensure argument transparency.
2016-04-18 08:27:30 -04:00
ThePhD
4123830e6c
Should probably introduce a is_push_pop_transparent
trait for things like is_this_state
...
2016-04-17 03:13:46 -04:00
ThePhD
90ea495d4c
"constexpr" my ass.
2016-04-17 02:26:18 -04:00
ThePhD
88155d44e0
sol::property is implemented for usertypes now
...
sol::this_state is a transparent argument that gets the current state at any position in any callback
sol::variadic_args allows a person to get something that can reference the "rest of the arguments", though it doesn't enforce that it has to be the last argument
Closes #57
Closes #59
Closes #60
2016-04-17 02:18:34 -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
8862c65f0a
NOW we're truly feature complete. Sheesh, the work that this requires....
2016-03-31 16:16:07 -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
ThePhD
68660a1bed
Allow for checking whether or not a given proxy is valid.
2016-03-25 05:27:19 -04:00
ThePhD
09a0a5051a
Documentation updates and new stack::check_get API.
2016-03-24 15:45:44 -04:00
ThePhD
c3bf2e04f8
I really don't like clang.
2016-03-15 06:45:49 -04:00
ThePhD
d52bc23f53
Mooooar tests. And better support for proxy and tuples.
2016-03-15 06:36:25 -04:00
ThePhD
3534bc222c
proxy is now pushable, making it usable with functions
2016-03-15 05:20:56 -04:00
ThePhD
20d85850ea
Ha ha haaa I forgot std::pair is a tuple-like type .-.
2016-03-14 18:33:10 -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
62f082d999
documentation fixes from feedback and fixes!
2016-03-14 02:34:02 -04:00
ThePhD
7f40c4edb6
Clang errors because 2 phase lookup is stupid between compilers.
2016-03-13 08:41:29 -04:00
ThePhD
c42c1bafe5
Documentation fixes, new tests, unique/shared_ptr support.
...
Closes #32
2016-03-13 08:30:14 -04:00
ThePhD
d8bc6c8612
Unfortunately have to use tag dispatched types because Clang's a piece of shit.
2016-03-11 18:41:44 -05:00
ThePhD
338278edf7
The docs are here.
2016-03-11 17:47:15 -05:00
ThePhD
1a9c7484b1
Fix up the API; prepare for release.
2016-03-11 11:34:44 -05:00
ThePhD
5d722af1b0
Because bwuh.
2016-03-05 02:42:19 -05:00
ThePhD
19578538e7
Inheritance
2016-03-05 01:43:45 -05:00
ThePhD
923c774d5e
ability for functions that throw not bound by sol to catch and return lua errors that can be used by a handler function (for protected function).
2016-03-02 20:45:52 -05:00
ThePhD
d42efd7fdf
Proper trampolines to allow luajit to play nice with all the other kids in sol
.
2016-02-27 07:56:28 -05:00
ThePhD
e57ac87868
Unused parameters and all that jazz....
2016-02-27 02:59:47 -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
b2b73db5cb
overloading searching improvements and general refactoring for cleaner implementation.
2016-02-18 22:17:52 -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
a71c9737d4
Fixed usertype checking for overloading resolution (and for userdata in general)
2016-02-11 02:28:38 -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
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
f389c7fe36
True luajit compatibility
2016-01-27 01:07:16 -05:00
ThePhD
31e7857870
Merge remote-tracking branch 'root/develop' into develop
...
# Conflicts:
# examples/usertype.cpp
# sol.hpp
# sol/debug.hpp
# sol/default_construct.hpp
# sol/demangle.hpp
# sol/deprecate.hpp
# sol/error.hpp
# sol/function.hpp
# sol/function_types.hpp
# sol/object.hpp
# sol/proxy.hpp
# sol/reference.hpp
# sol/resolve.hpp
# sol/stack.hpp
# sol/state.hpp
# sol/table.hpp
# sol/traits.hpp
# sol/tuple.hpp
# sol/types.hpp
# sol/usertype.hpp
# sol/usertype_traits.hpp
2016-01-24 12:16:38 -05:00
ThePhD
4b545aa6a2
Fix tuple returns (they don't need to be explicitly expanded in many cases).
2015-10-25 07:17:48 -04:00