Commit Graph

237 Commits

Author SHA1 Message Date
ThePhD
d9c034d672
Protections for MoonJit, explicitly. 2020-05-17 23:21:32 -04:00
ThePhD
c5f6680bf4
Add an additional configuration parameter to make it so automagic usertypes can be turned off, and document it.
Thanks @EliasDaler
2020-05-17 18:17:14 -04:00
ThePhD
5022c4d8f6
Improve container handling and the vec[#vec] = nil idiom from Lua 2020-05-06 22:17:02 -04:00
espkk
670ea9b405 Allow open_libraries() to accept any value category. 2020-04-08 20:01:29 -04:00
ThePhD
053a7fdcb1
Fix #949, #935, #948, #945, and #933.
We will need a new feature to fix #941, which is related to #872.
2020-03-31 00:24:23 -04:00
ThePhD
82812c56d9
__mt is the wrong name. 2020-03-09 21:33:41 -04:00
ThePhD
bc96c1d7b2
Fix some more derps in the code. Also, std::iterator is a zombie! 2020-02-16 16:52:39 +01:00
ThePhD
11d6e8c8d4
Where did the checkers for sol::nested go...? Maybe a casualty of refactoring? 2020-01-28 13:44:35 -05:00
ThePhD
903f4db02b
Fix up the tutorial. 2020-01-27 14:13:22 -05:00
ThePhD
0c38fd1a57
Lua stream example! 2020-01-25 13:09:16 -05:00
ThePhD
2beb13b9b2
Found the problem. 2020-01-25 00:13:08 -05:00
ThePhD
ba9507107b
Index adjustments from derping around. 2020-01-24 20:16:37 -05:00
ThePhD
5301bc1d4c
New base object customization point management example, derived directly form @NullCascade. Thanks! 2020-01-24 19:58:12 -05:00
ThePhD
c77b5b432e
Update catch, move yielding check up one level to avoid problems with trampoline and exception handling, and add a new test/example from an issue. Closes #906. Closes #917. 2020-01-17 05:22:52 -05:00
ThePhD
b9acaddd78
Stack aligned function should be safe, if possible. 2020-01-08 06:40:33 -05:00
ThePhD
43f215c27d
Fix #913 2019-12-25 13:24:21 -05:00
ThePhD
36972a994b
mmm double trampolining is not good
add new ways to shoot myself in the foot with CMake
2019-12-23 09:09:23 -05:00
ThePhD
1f27149239
Fix usage of the traits, rename them to say more directly what they are. 2019-12-02 15:54:58 -05:00
ThePhD
38d979209d
Rework variant checks and other things to prevent hard failures. 2019-12-01 19:27:49 -05:00
ThePhD
b0c74207d8
Force constness on ostream operator.
Automatically disable magic for variant types.
2019-12-01 17:40:16 -05:00
ThePhD
83a656ae61
Break all the behaviors. _All_ of them. 2019-11-29 13:08:41 -05:00
ThePhD
21c030933f
Clean up exceptions checking. Fixes #901 2019-11-24 18:06:52 -05:00
ThePhD
bc1106cdea
Tackle bug in indexing on Lua Version < 5.3
Figure out LuaJIT bug for allocations on x64 on Version < 2.1.x
2019-11-13 05:18:02 +01:00
ThePhD
2ca27eede3
Please read the docs. Pretty please. 2019-11-12 18:53:17 +01:00
ThePhD
ce32549bc6
Remove as many of the std::string error handlers as possible to avoid memory leaks in C mode
Add some checks for container usertypes that masquerade as convertible from tables
Make sure shared_ptr-like types that are copyable are returned directly (but do not do this for move-only types)
2019-11-09 04:53:48 +00:00
ThePhD
88355fcdf8
fix derp for checked calls 2019-10-02 04:43:44 -04:00
ThePhD
908074e696
wew lad 2019-10-02 02:38:12 -04:00
int3
97279aa68e Fix: constructing basic_reference<true> from basic_reference<false> 2019-10-01 02:17:04 -04:00
David P. Sicilia
b545e1bf1b Enable C++17 features when __cplusplus >= 201703.
This will keep them enabled even when compiling with later
standards or experimental standards such as -std=c++2a.
2019-09-15 00:49:53 -04:00
ThePhD
bafac3abbd
Change how proxies are done for the sake of efficiency. 2019-09-15 00:43:44 -04:00
ThePhD
b2c22ea8fe
Fix #864 2019-09-08 19:54:17 -04:00
ThePhD
9294afc082
memory tracker and separate-definition ADL customization points, inspired by Olek and Aurailus 2019-09-01 02:27:58 -04:00
ThePhD
e8649d276b
NOW it's REALLY fixed, super duperly. 2019-08-28 00:17:11 -04:00
ThePhD
12eb1168e2
Burning hatred for unconstrained functions. 2019-08-27 20:04:55 -04:00
ThePhD
a2e01ada2f
More dumb patches for more all-consuming template functions. 2019-08-27 19:59:07 -04:00
ThePhD
683d1393d7
std function can be empty
fixes #862
2019-08-27 18:36:45 -04:00
ThePhD
e03f53d4dc
more minor fixes for bad trait usage, wee 2019-08-15 08:14:06 -04:00
ThePhD
12f8f046cc
fix up container handling 2019-08-15 02:28:37 -04:00
ThePhD
cb3acaa97b
add more documentation, add clear() to bytecode, include additional examples and better data 2019-08-15 01:26:52 -04:00
ThePhD
09f5e862b8
Lua 5.4 changes... oh boy! 2019-08-12 14:07:25 -04:00
ThePhD
5799084572
Fix #838 by defining the operators to prevent VS warning 2019-07-25 22:14:24 -04:00
ThePhD
7584e3b9fd
derped in some undef'd code 2019-07-04 22:53:36 -04:00
ThePhD
fd4ba95602
repetition is bad 2019-07-04 16:34:32 -04:00
ThePhD
60332562fd
better numerics errors ? 2019-07-04 09:42:12 -04:00
ThePhD
eb6f425245
fix some derps in overload resolution in cases where it is ambiguous with .call<void>(). Also improve variant handling, going from 0 to variant_siz 2019-07-01 23:30:54 -04:00
ThePhD
52dc19a75a
wew containers and perfect matching ye 2019-07-01 05:44:53 -04:00
ThePhD
1ab57fc11e
fix up variadic_results and change pointer_like traits to not fall prey to implict conversions as easily 2019-07-01 02:13:34 -04:00
ThePhD
b08387d947
sol variadic results to make it easier to convert function results. 2019-06-29 09:51:47 -04:00
ThePhD
ce1396e7db
Derped out. Thanks @PeteHuf 2019-06-10 13:08:06 -04:00
ThePhD
4ca24f9bc7
Handle weird types for number and shit 2019-06-10 04:22:59 -04:00
ThePhD
ef1c0e7a38
fix weird nested shit 2019-06-08 21:48:34 -04:00
ThePhD
d63ba49b0e
fix #826 #824 2019-06-04 14:15:23 -04:00
ThePhD
cbb05759be
Unused warnings... 2019-05-29 22:01:32 -04:00
ThePhD
5a4d7dca7f
pointers just wanna be included in the fun, man 2019-05-29 17:14:35 -04:00
ThePhD
46a2b01f33
[skip ci] formatting fix 2019-05-29 09:33:14 -04:00
ThePhD
e256012de1
pessimizing moves, o boi 2019-05-27 01:49:31 -04:00
ThePhD
e814868a24
inline constexpr to stop odr issues 2019-05-26 16:12:21 -04:00
ThePhD
ca293c723f
add sol::stack::get_traceback convenience function 2019-05-26 15:44:38 -04:00
ThePhD
fe5c71e792
awh yeh 2019-05-26 13:50:29 -04:00
ThePhD
a49fbc2f04
Objective C will always haunt me. 2019-05-26 13:32:28 -04:00
ThePhD
f701fd2de7
HEAVILY improve the entire infrastructure and documentation along with all the examples 2019-05-21 19:17:31 -04:00
ThePhD
4808e7cad8
filters -> policies
shill out on the docs
prepare to update all docs
fix #809
2019-05-21 03:57:10 -04:00
ThePhD
ad1b9666c1
Fix #814 2019-05-21 02:27:02 -04:00
ThePhD
5dee45cd9e
Rework table internals for more performance in more cases and handle additional cases of update_if_empty and create_if_nil 2019-05-21 02:13:56 -04:00
ThePhD
bd17c83250
FLAMING HATRED OF STRING LITERALS 2019-05-17 20:02:49 -04:00
ThePhD
8f88e104be
make sure that stack_aligned_stack_handler_function behaves properly 2019-04-29 05:16:33 -04:00
ThePhD
c442c6c620
static indexing is a real thing now 2019-04-29 01:38:01 -04:00
ThePhD
67231f707f
no-tests commit #2
tagged things wooOooOooo
2019-04-28 16:45:40 -04:00
ThePhD
3426947340
the god-tier commit-without-running-tests... 2019-04-28 09:40:51 -04:00
ThePhD
2d470857b4
something something nice things 2019-04-23 10:29:59 -04:00
ThePhD
468ac367a0
has_value doesn't exist on older boost containers, mmn 2019-04-23 10:19:11 -04:00
ThePhD
47bc7f6569
const iterators are a bitch 2019-04-14 10:20:25 -04:00
ThePhD
b47997ff65
pointer_like, now, more traits being separated out... 2019-04-13 10:15:14 -04:00
ThePhD
caa71f2d71
Doing things right OMEGALUL 2019-04-13 05:59:35 -04:00
ThePhD
3adac3402f
last rebind_base usge to be covered by if_constexpr 2019-04-13 04:52:20 -04:00
ThePhD
6282ed4bf0
Improve unique_usertype handling to avoid needing the rebind_base typedef 2019-04-13 04:05:34 -04:00
ThePhD
d17f967e66
fix some unicode constants 2019-04-07 23:11:44 -04:00
ThePhD
2f7607840f
A very simple fix for a very complex problem 2019-04-05 18:56:37 -04:00
ThePhD
fbf94844b1
I am a very capable and smart human being. 2019-04-04 22:47:53 -04:00
ThePhD
83f702be12
Funny, people push state_view and stuff into the system and everything goes to hell and high water... 2019-04-04 21:33:32 -04:00
ThePhD
7e7189735e
change behavior to set metatable before construction, not after
inherently dangerous, since that means the destructor can be called on incomplete memory if a constructor throws...
.... Not my problem! :D
blah blah shitty warnings
2019-04-04 09:38:23 -04:00
ThePhD
39e18b4468
I can spell good, I promise. 2019-03-31 15:18:01 -04:00
ThePhD
20a0b0809f
decltype(auto), let's hope it does the right thing... 2019-03-31 14:38:48 -04:00
ThePhD
26cbadc5b2
Livnig dangerously and not running the tests, just shooting from the hip.
One day I'll get this all right...
2019-03-30 23:30:59 -04:00
ThePhD
55ebe1b76a
improve gc and call handling, o boi 2019-03-28 23:18:59 -04:00
ThePhD
52ec50010b
Update single, make sure warnings are not there. 2019-03-23 21:50:02 -04:00
ThePhD
a925963708
appveyor.yml updates to try and more properly capture constraints
travis.yml updates to try and more properly capture constraints
I truly dislike MSVC's inability to handle lots of using statements.
2019-03-23 12:09:51 -04:00
ThePhD
e8467334f6
Completley overhaul tests
Add unregister funcationality
Make sure clearing is stack-size-safe.
2019-03-22 16:28:17 -04:00
ThePhD
b63d7af060
Add lua_table and lua_value abstractions
Improve dump handler, bytecode, and base traits
Fix tolua on bad calls, fix interop handler changes
We are now truly done with all feature requests...
2019-03-18 07:41:51 -04:00
ThePhD
70bc1113cb
Create base_traits
Improve all of the tests
This is the final featureset, now everything is frozen just for docs...
2019-03-14 16:15:43 -04:00
ThePhD
c1a8cb1dc5
Update copyright year, add dump function 2019-03-13 05:18:06 -04:00
ThePhD
466e21bf7c
omegalul MSVC 2019-03-10 11:09:52 -04:00
ThePhD
ee13a7812f
Full fixes for everything. 2019-03-09 20:57:49 -05:00
ThePhD
b6f40935c8
add new tas for override_value and update_if_empty, improve the enable_if for a bunch of field_setter stuff
perform the last breaking change with .source()
prepare for the coming release...
2019-02-16 17:27:03 -05:00
ThePhD
95ffd10283
force variable now works in traverse_set and proxy setters. 2019-02-15 04:01:03 -05:00
ThePhD
9c050230f3
push/pop pragma macros, wew lad 2019-02-14 04:52:30 -05:00
ThePhD
b938e42af6
SUPER DUPER UPDATE WOO 2019-02-14 02:40:57 -05:00
ThePhD
ffe77ccb3f
fix some derps that aren't caught by the tests, somehow...?
add more tests...!
2019-02-11 05:50:35 -05:00
ThePhD
4fd197d956
ebco optimizations for certain classes 2019-02-10 16:40:37 -05:00
ThePhD
b4e83ca866
attempt to improve throughput and compile times even more
change CMake to stop being such a goddamn fucking menance with the warnings and errors
try to get full /W4 clean compliance
2019-02-10 15:02:40 -05:00
ThePhD
fbf5b48dc8
void support 2019-01-28 12:33:21 -05:00
ThePhD
e1f3e5f009
cull a good chunk of SFINAE, see what results... 2019-01-28 11:32:32 -05:00
ThePhD
ad494bd063
Merge branch 'develop' into sol3
# Conflicts:
#	single/include/sol/forward.hpp
#	single/include/sol/sol.hpp
#	single/sol.hpp
#	single/sol/sol.hpp
#	single/sol/sol_forward.hpp
#	single/sol_forward.hpp
2019-01-26 03:29:42 -05:00
ThePhD
4f35e330e8
yield fix for sol3 2019-01-26 03:09:37 -05:00
ThePhD
a2f86d88dc
optimize get/traverse_get and set/traverse_set items
consider potential optimizations for new_enum to reduce compiler churn
consider potential optimizations for proxy
2019-01-17 08:28:34 -05:00
ThePhD
88a089c4ae
proxy testing 2019-01-14 07:27:55 -05:00
ThePhD
5b3ca9343c
update single
update forward declaration
update container traits usage
fix vector of pair as a usertype
2019-01-13 21:46:53 -05:00
ThePhD
91faa7a014
Update single, fix more CMakeLists stuff to work with Local and Not-From-Source builds of Lua 2019-01-05 13:56:21 -05:00
ThePhD
59174e76af
Update patrons
Reduce compile-times by removing lambda shenanigans and moving data that is already serialized into runtime systems to runtime
Fix bugs with precedence ordering related to index and new_index
Prepare to add 20000 more if constexpr to reduce compile-times even further.
2019-01-05 05:48:51 -05:00
ThePhD
9760a400cd
testing and test matrix improvements 2018-12-23 13:18:14 -05:00
ThePhD
a6abc0a0d9
update everything 2018-12-22 15:36:42 -05:00
ThePhD
88cafb281f
improve all tests, fix all tests, and improve metatable for GCC builds 2018-12-21 01:07:05 -05:00
ThePhD
c35c66baf7
update all tests and fix all the small derps and typos 2018-12-20 01:18:07 -05:00
ThePhD
bbd5bd7fa1
Fix Linux build as best as possible while size issues still remain with MinGW. 2018-12-19 23:17:15 -05:00
ThePhD
26a1db449f
Merge branch 'develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
2018-11-28 04:39:08 -05:00
ThePhD
1e514f145f
Merge branch 'develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
2018-11-27 22:20:59 -05:00
ThePhD
6ff83c6657
Merge branch 'develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
2018-11-27 10:25:07 -05:00
ThePhD
8f73b92109
Merge commit 'c61a434561b863bab870873992c4ab23f963ca6c' into sol3
# Conflicts:
#	include/sol/types.hpp
2018-11-21 15:45:17 -05:00
ThePhD
7e5f2837a8
Merge branch 'develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
2018-11-21 15:06:23 -05:00
ThePhD
d15709d85a
Merge branch 'develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
#	include/sol/coroutine.hpp
#	include/sol/stack_core.hpp
#	sol/usertype_metatable.hpp
2018-11-21 08:19:26 -05:00
ThePhD
1a3f989eba
Merge branch 'develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
#	include/sol/stack_push.hpp
2018-11-20 22:18:20 -05:00
ThePhD
094ace3c7b
freeze changes 2018-11-20 11:59:36 -05:00
ThePhD
9b47849110
update tests (which compile, but now all fail) 2018-11-18 13:06:01 -05:00
ThePhD
e74ce68163
freeze and test 2018-11-11 13:40:28 -08:00
ThePhD
162746dac9
Merge branch 'develop' into sol3
# Conflicts:
#	docs/source/tutorial/variables.rst
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
#	include/sol/proxy.hpp
#	sol/usertype_metatable.hpp
2018-11-10 07:12:13 -08:00
ThePhD
f75d335988
Merge remote-tracking branch 'origin/develop' into sol3
# Conflicts:
#	include/single/sol/sol.hpp
#	include/single/sol/sol_forward.hpp
2018-11-09 08:26:27 -08:00
ThePhD
a1951a79f2
Merge branch 'develop' into sol3 2018-10-25 01:53:46 -04:00
ThePhD
fa07e54e08
some small fixes for usertypes, still need a few more drastic improvements... 2018-10-15 21:53:16 -04:00
ThePhD
50f92be1c7
std decay, huh?
change base walk comparison to be less derp
2018-09-28 05:24:46 -07:00
ThePhD
015ef6a37a
usertype destructor needs to be of the right type for non-const values 2018-09-28 04:43:06 -07:00
ThePhD
72b9d91c14
ultra fast lua_Cfunction serialization, wew 2018-09-28 04:25:17 -07:00
ThePhD
75ff9b3658
change include guard 2018-09-28 03:53:40 -07:00
ThePhD
a70a166132
more minor fixes 2018-09-28 03:53:17 -07:00
ThePhD
f42a678d20
minor fixes 2018-09-28 00:55:47 -07:00
ThePhD
e56cbc1dc5
update sol3 tag 2018-09-27 23:55:09 -07:00
ThePhD
1335c67967
fix all the terrible includes 2018-09-27 23:50:05 -07:00
ThePhD
0a9dc24f1f
first big sol3 push... tests not updated yet 2018-09-27 22:27:38 -07:00