ThePhD
090c834f2c
Let nullptr pass through, but we still can't do a conversion from lua_nil
to unique_usertype
s.
2017-06-07 11:02:47 -04:00
ThePhD
34b81bef6b
Handle qualified name failures of VC++, where using
templates do not match the fully qualified names of what they alias to (Thanks, VC++)
2017-05-15 10:41:50 -04:00
ThePhD
2acc8bee14
get_environment, documentation updates, and tests
2017-04-18 20:23:20 -04:00
ThePhD
8c94cb730b
Fix static initialization order fiasco with meta_function_names
2017-04-04 16:16:22 -04:00
ThePhD
185f5ecc05
new travis environments to be tested out for osx stuff, plus new_table docs and environments on function calls
2017-04-02 22:37:01 -04:00
ThePhD
c7deb82535
Improve performance by making wstring_convert
objects static. Closes #326
...
Temporary warnings against alignment padding nonsense. Closes #325
Still need to test #324 and find out what's wrong with #327
2017-01-30 21:40:58 -05:00
ThePhD
16152c7faf
Make various arguments push based on the Lua state passed, not on the Lua state they have (avoids a small class of errors and makes the panic function call tiself more regularly).
2016-12-06 10:51:14 -05:00
ThePhD
d0a36c9657
objc define to keep code clean on that platform
2016-12-03 07:33:18 -05:00
ThePhD
20b951d551
we choose nil serialization for bad stack pushes
2016-12-02 05:47:24 -05:00
ThePhD
0d43a6f22b
fix const-correctness error in detection of is_container type
2016-11-29 12:51:21 -05:00
ThePhD
b40f895fd4
Fix double-delete crash that could also be affecting @IronsDu
2016-11-23 02:39:52 -05:00
ThePhD
3b4dd52caf
Fix is_container
derp that triggered fault construction of pointer types
2016-11-07 13:52:20 -05:00
ThePhD
2ac711b7f8
fix static initializer bugs from crap -- and remember to hunt down and get rid of all non-constexpr things like it in the future...
2016-10-21 17:32:27 -04:00
ThePhD
e0e376a370
-1 size key is bad: remember to add this to presentation...
2016-10-05 20:55:40 -04:00
ThePhD
cf76f6baa0
V E T T E D
...
Slight breaking change, but at the source level almost nothing changes (ipairs is the only thing that changes because for some reason it checks if what is passed is a table and that really doesn't make any fucking sense)
Closes #195
Closes #196
2016-08-23 21:42:27 -04:00
ThePhD
5b65ea1460
O-O-O-OVERHAAAAAUL no not really just bug fixes....
2016-08-22 22:45:06 -04:00
ThePhD
e31ed71006
Add hinting optimization to arrays
2016-08-19 21:08:03 -04:00
ThePhD
f608c4f0f8
Guess who joined the fuccboi club with g++ and VC++? THAT'S RIGHT, IT'S MINGW AND IT'S HANDY DANDY FRIEND, LIBSTDC++! WOOOOOO!
2016-08-12 15:57:53 -04:00
ThePhD
0d1d5ebd09
Turns out C++ sucks when all implementers don't do things equally as fast. WHO KNEW?
2016-08-12 13:08:59 -04:00
ThePhD
ffdff21487
Trying to be smart about shit, take 1. :B
2016-08-12 12:30:18 -04:00
ThePhD
391152382c
[ci-skip] update feature table and be good at stuff
2016-08-12 11:06:14 -04:00
ThePhD
ff8ac8a6d4
One day I'll have a perfect release...
2016-08-11 11:36:39 -04:00
ThePhD
0338b7d18f
Baby you construct me in all the right ways, let's spend our lifetimes together in this wonderful scope.~
...
Closes #168
2016-08-11 09:16:23 -04:00
ThePhD
4cde2b6a3b
making questionable decisions since 1892
2016-08-11 07:25:57 -04:00
FYP
62b21b1cec
fix std::nullptr_t getter and pusher
...
according to
http://sol2.readthedocs.io/en/latest/tutorial/ownership.html it should
be that way
2016-07-26 00:31:31 +03:00
ThePhD
f1965a4364
const qq
2016-07-15 10:13:38 -04:00
ThePhD
87eb901b01
Fix #139
2016-07-12 20:55:26 -04:00
ThePhD
ac5f13ce2f
Now protect should work in multiple places, albeit we still need to do some optimizations to kick it in
...
Address #137 and improve implementation to not have to pop arguments
2016-07-09 13:38:55 -04:00
ThePhD
27174aba9c
This mega-commit produces simple_usertype
to allow for faster compile times by avoiding the use of __index
internally. It sacrifices some speed and some storage optimizations and also does not allow variable syntax, but the produced table is directly modifiable.
...
Adds a `protect()` function to trigger safety for an item.
This commit also optimizes away all instances of virtual function calls for function calls and storage. Will need to test speed to see how it works out.
Closes #133
Closes #134
Closes #135
Closes #136
2016-07-07 16:52:39 -04:00
ThePhD
83ba698aba
More documentation, fix for signed/unsigned conversion issues.
2016-06-22 01:20:38 -04:00
ThePhD
556be8da98
Documentation updates -- require function and add function and size function needed documentation
...
New `add` function as requested by @EliasD
2016-06-19 17:59:40 -04:00
ThePhD
e1241c110a
SPEED AND FIXES, HOOOOOOOOO!
2016-06-10 21:04:48 -04:00
ThePhD
220ff5a475
Fixes the key value being left on the stack when using iterators (the other case that's not "and we're not actually using this for iteration", asides from the empty table case).
...
Closes #111 - fixed
Closes #110 - need to test exactly how much extra speed was gained
Closes #108 - seems to be fixed, albeit std::mutex is a butt on VC++
2016-06-07 20:32:10 -04:00
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
96f231a183
We do have a cheap char type now, but figuring out that codecvt is super busted makes me sad
...
Safety macros are now in place. Usertype ones turned on by default
Closes #93
Closes #94
2016-05-18 21:29:17 -04:00
ThePhD
38d21827b1
:l Stop finding bugs in my code -- unique_usertype_traits implemented, sol::overloaded work for static functions
2016-04-24 01:39:44 -04:00
ThePhD
2cfe74cc7f
Better demangling
...
Userdata pushed before the usertype is pushed will not latch onto the new metatable if its added
Updated tests
2016-04-22 17:06:56 -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
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
8862c65f0a
NOW we're truly feature complete. Sheesh, the work that this requires....
2016-03-31 16:16:07 -04:00
ThePhD
7af3fc4ffa
Added nullopt pushing, optional pushing, improved tests
2016-03-30 16:52:51 -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
09a0a5051a
Documentation updates and new stack::check_get API.
2016-03-24 15:45:44 -04:00