Commit Graph

207 Commits

Author SHA1 Message Date
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
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
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
f6e6398f64
Be consistent with the use of target_link_libraries...
I really dislike CMake
2018-12-27 12:37:56 -05:00
ThePhD
486086ffe0
fix up CMake files once more, and hopefully prepare for a new test coverage paradigm
notably, test normal + single + generated + Lua 5.3.5 only once,
then only run the runtime_test and compile_test for normal for all other permutations to help increase text matrix throughput
2018-12-27 02:17:25 -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
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
4906e43918
beep boop fixes 2018-11-21 15:03:45 -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
55e92056c1
Fiiiiixes. 2018-11-21 07:34:32 -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
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
2cfbc8c0ea
Fix up the remaining sol2 issues, prepare for more sol3 stuff 2018-11-10 06:41:06 -08:00
ThePhD
fa07e54e08
some small fixes for usertypes, still need a few more drastic improvements... 2018-10-15 21:53:16 -04:00
ThePhD
e56cbc1dc5
update sol3 tag 2018-09-27 23:55:09 -07:00
ThePhD
0a9dc24f1f
first big sol3 push... tests not updated yet 2018-09-27 22:27:38 -07:00
ThePhD
0e321272e6
update docs a bit, think aobut changes to container_traits and friends... 2018-08-10 11:17:31 -04:00
ThePhD
89dbc160ab fix utility stuff 2018-06-27 16:16:24 -04:00
ThePhD
b688606007 pointer is unstable, which makes sense, but... nullptr? Really? :< 2018-06-27 13:24:56 -04:00
ThePhD
8a27648b77 add pointer() method 2018-06-27 11:35:09 -04:00
ThePhD
254466eb4b add pointer() method 2018-06-27 11:34:40 -04:00
ThePhD
af8432123a fix #673
fix #670
2018-06-27 07:17:32 -04:00
ThePhD
f85a5c0ae7 fix #674
fix #673
make a full decision on #672; not worth the implementation effort
2018-06-27 07:17:31 -04:00
ThePhD
3935dc497c fix #673
fix #670
2018-06-27 07:14:02 -04:00
ThePhD
301547f260 fix #674
fix #673
make a full decision on #672; not worth the implementation effort
2018-06-26 15:57:55 -04:00
ThePhD
c6bb3c6ce5 fix all warnings on GCC and get new tests and old tests back to 100% 2018-06-15 17:33:09 -04:00
ThePhD
92f3330e03 fix #668
update single
2018-06-15 15:50:51 -04:00
The Phantom Derpstorm
15fe28c57f
Merge branch 'develop' into vc140-fixes 2018-06-15 13:27:58 -04:00
ThePhD
8039dd22a6 update documentation with additional information about resolve and overload (fixes #664 and fixes #665)
add new shared_ptr differentiation mechanism that persists between DLLs (fixes #661)
change valid Lua version to handle Lua 5.4.0-work1 (fixes #649)
remove upper limit on MSVC version: they're not fixing it anytime soon (fixes #655)
add integer value for definition (fixes #651)
2018-06-15 13:19:09 -04:00
Orfeas Zafeiris
3fe08ec2c1 Fix header inclusion order 2018-06-03 02:22:14 +03:00
Orfeas Zafeiris
f4f166f88c Fix x64 compilation error in usertype tests 2018-05-30 08:57:44 +03:00
ThePhD
f8ee7abe52 tfw no common_type for ternary... 2018-05-12 18:04:33 -06:00
ThePhD
fd58e7fcd1 fix #638
bump microsoft version check up (fx #639)
2018-05-10 05:30:51 -06:00
ThePhD
c72a012927 Fix Visual Studio 2015 builds, fix error handling printouts / exceptions, fix constexpr usage that trips up Visual Studio 2015. 2018-04-17 20:08:07 -04:00
ThePhD
97525d8b72 don't put catch in the sol2 include 2018-04-17 16:13:50 -04:00
ThePhD
80df3fc915 Fix #626
Fix #625
Fix #624
2018-04-12 13:58:25 -04:00
ThePhD
8e8dd379ff update tests because AAAAHHHH exceptions 2018-03-22 10:59:37 -04:00
ThePhD
6c40c559e3 prepare for new usertype
change how type T is gleaned from destructors and constructors in case of new syntax
add a hell of a lot more examples, update and clean documentation
2018-03-15 17:16:28 -04:00
ThePhD
cd13f2dc0d Hammer down function behavior and provide an example to show how it works 2018-03-03 13:42:13 -05:00
ThePhD
94a63902a7 fix order of is_specialization_of, since mpark and arthur and friends convinced me of The One True Way
add workaround for VC++ /std:c++17 and /std:c++latest bugs
try to add MD/MDd flags, pray it works...
update single
2018-03-01 22:08:27 -05:00
ThePhD
8d62fbaf5d add handle for potentially overloaded size() definitions (pray it works with noexcept anyhow). 2018-02-22 12:26:46 -05:00
ThePhD
6c6c89132b fix #593 2018-02-21 02:02:18 -05:00
ThePhD
c377ecebcb more travis stuff, add missing license notice, update license year 2018-02-19 21:15:26 -05:00
ThePhD
a6cf847984 Visual Studio 2015 builds are a nightmare... 2018-02-19 13:06:29 -05:00
ThePhD
2c8e4a8313 Update all modules, now that we seem to have gotten the hang of all the little things we need to do to make it work.
One day, OSX builds will Just Work™.
2018-02-19 06:30:44 -05:00
ThePhD
d26f0ea0e5 Some test printouts to help us debug the MinGW x86 explosion 2018-02-17 21:38:29 -05:00
ThePhD
b78d900d05 One day, everything will build proper.
One day.
2018-02-17 11:00:27 -05:00
ThePhD
258acff99b fix coroutine handler, change examples compilation, try to handle m32 compilation issues 2018-02-17 10:45:08 -05:00
ThePhD
a9b1c8e5fb case-sensitive for find_package 2018-02-17 00:44:05 -05:00
ThePhD
67116a67f9 Fixes #588
Tentatively supports (?) #589 with sol::yielding and sol::yielding_t
Added Catch as a cmake module
2018-02-17 00:18:26 -05:00
ThePhD
88ba80bb61 add additional CMake presentation
Update container documentation
Fix ISSUE_TEMPLATE
Fix up documentation for quick and dirty, pulling example source directly from bundled code
addresses #578
2018-02-08 00:40:34 -05:00
ThePhD
8f6f12d26c update failures and hide all equality tests from clang++ since they just break completely until we figure it out 2018-02-03 18:44:59 -05:00
ThePhD
f48ba8b101 Add shiny new unicode methods to replace shitty codecvt. It needs some work to be safer but this will work for now
string_view to avoid allocations added to a few more places
stack proxy's unused members were removed
container_traits now has the index_adjustment function added onto it.
Fixes #571
Fixes #574
Fixes #575
2018-02-03 01:29:06 -05:00
ThePhD
57681ab4cd This attempts to be more thorough with the validations of the test, avoiding throws wherever possible to help reduce the error surface for debugging x86 builds (which, strangely enough, are not erroring in the same places that appveyor is erroring in...)
Need to begin wrok to fix wstring_convert and replace it with some decent UTF conversion algos. It's surprisingly difficult tof ind such...
Fixes #572
Fixes #569
Fixes #567
2018-01-28 22:21:13 -05:00
ThePhD
143c98450a update single, add new tests
fixes #564
2018-01-24 01:10:35 -05:00
ThePhD
63ec47bf6e Make base class type checks and lookup stable across DLLs 2018-01-23 12:07:22 -05:00
ThePhD
71963f9678 Try to always use the dedicated library built for the docker image by the LLVM team, otherwise everything goes to hell.... 2018-01-10 08:40:37 -05:00
ThePhD
8cf7f49ec7 commit the fun, see how it all goes down... 2018-01-08 20:33:39 -05:00
ThePhD
44e87cedda [ci skip] Prepare travis and docker for pulling images: just need to build images... 2018-01-07 10:28:05 -05:00
ThePhD
732b4bd700 add new tests for unqualified returns through as_nested/as_table 2017-12-28 12:11:12 -05:00
ThePhD
0051548dfa big sigh; one day we'll get this all right... 2017-12-27 07:42:37 -05:00
ThePhD
37cdc50a5c LLVM and the relevant Visual Studio version and giving me quite the conniption 2017-12-26 21:21:30 -05:00
ThePhD
fc6ccdfa7e start preparations for new travis
update appveyor
add blocks for tests on platforms where things are expected to fail
prepare for LuaJIT
2017-12-25 20:18:29 -05:00
ThePhD
6d2100e814 Prepare for full appveyor build.
Add abort_clean so that CI does not get stuck on a message box that can never be answered
alignment rules do not apply to stack variables, so the tests cannot have the alignment check in the destructor: only for memory pushed into and coming straight out of Lua
2017-12-25 11:44:04 -05:00
ThePhD
83013333d7 Let it rip! 2017-12-24 12:32:23 -05:00
ThePhD
453a0daaaf fix VC++ build of examples and try to get appveyor to compile and run... 2017-12-24 01:30:55 -05:00
ThePhD
6e5d55345a update cmakelists with additional deprecation blockers, since they're just so goddamn annoying...
change appveyor to play nicer and check for MiNGW (even if we won't activate it yet)
2017-12-23 22:04:32 -05:00
ThePhD
9a009e5cf1 gate features behind check 2017-12-23 21:29:29 -05:00
ThePhD
9524fd061e All these platforms are so hard to deal with... 2017-12-23 20:34:34 -05:00
ThePhD
0e19156d52 update everything for the new cmake build, prepare for new .travis.yml and new appveyor.yml
Add name of project at top of license
fix container_traits with respect to boost::property_tree: Fixes #554
fix as_table with a vector of tuples (forward_get ignored constness): Fixes #552
2017-12-20 04:58:50 -05:00
ThePhD
c0660b454c fix multiply-declared forward declaration values
transition to CATCH2 (no changes really)
fix diagnostic printout for single.py
update ignores
update CMake to download CATCH single
update single
2017-12-11 12:31:30 -05:00
ThePhD
e06d2fb581 add single, add examples 2017-12-10 15:56:49 -05:00
ThePhD
a86e9ee62d update examples and fix error_result returns 2017-12-07 09:04:19 -05:00
ThePhD
7193115e24 fix destructor semantics of tests (fixes old iterator debug level problems)
Closes #361
add defines for #543
2017-12-07 08:24:50 -05:00
ThePhD
a0de11a773 add coroutine guard
update version
add donation link
2017-11-21 14:33:27 -05:00
ThePhD
2203c1f64f Overhaul examples
Overhaul docs for examples
Overhaul function_result and protected_function_result proxies
2017-11-09 17:41:46 -05:00
ThePhD
10b1bb04a9 formalize unsafe_function_result
add index-based getter to function_result
add safety checks for double deleters and other things of that nature
2017-11-07 20:19:36 -05:00
ThePhD
b1171243f3 open proper base library 2017-10-30 20:03:49 -04:00
ThePhD
9a0b5ef34a fixed ipairs swap bug 2017-10-30 14:38:16 -04:00
ThePhD
73484bf8e9 add smaller environment example that's easier to process
vet entire framework for aligned reads/writes of memory for userdata
update documentation, links and tutorials accordingly
2017-10-02 17:32:58 -04:00
ThePhD
5c9e8e2e45 is_stringable trait 2017-09-28 19:07:33 -04:00
ThePhD
2b2c222bf0 gcc warnings 2017-09-22 23:17:37 -04:00
ThePhD
8f3699bea5 initializer_list support and tests, waiting for the day when we can use some kind of lua_any to store any value into Lua and thus have initializer lists become the new hot stuff 2017-09-22 18:54:49 -04:00
ThePhD
290a67134a Make sure nil_t is still available, even if nil is defined.
One day, there'll be a time when I get nearly everything right
2017-09-22 11:04:46 -04:00
ThePhD
0114882e13 force usage of lua_nil across everything and add a proper macro / feature-test for it 2017-09-22 07:30:41 -04:00
ThePhD
61d610bb70 make minor changes for XCode and Visual Studio Warning Level 4. 2017-09-21 19:24:21 -04:00
ThePhD
76d7195e64 test new compat mode (we only test text, but I don't really generate binary files, and it seems to play ball both ways, so...) 2017-09-16 14:18:45 -04:00
ThePhD
1fc00278d5 repair all constructors, expand type recognition 2017-09-14 08:45:44 -04:00
ThePhD
8d828ac47b implement main_reference as per @eliasdaler's suggestions 2017-09-14 00:35:40 -04:00
ThePhD
72143a494b don't forget to pop! 2017-09-13 11:45:31 -04:00
ThePhD
dcff5cdaa0 re-implement xmove implicit transfers and hope it works proper this time 2017-09-13 10:20:24 -04:00
ThePhD
e3bd984062 cannot do automatic lua_xmove because of state differences 2017-09-12 22:01:29 -04:00
ThePhD
fcdb471167 update docs and benchmarks to include images directly to cut down on doc build warnings
add coroutine tests for new xmove copy and move constructors
cry tears because Lua does not kill the variables on the thread before killing the thread
2017-09-12 19:15:23 -04:00
ThePhD
074b9ae655 add xmove constructors for function, (light )userdata, table, reference and object
add additional coroutine example
improve traits
add tests for thread transfers
update single
2017-09-11 16:12:23 -04:00
ThePhD
b38a382b03 fix compat loadfilex issues and investigate luajit completely 2017-09-10 12:08:43 -04:00
ThePhD
fb276676d1 create and test raw_set and raw_get
add `new_enum` overload for initializer lists
add ipairs overload for 5.2 users
2017-09-06 15:09:51 -04:00
ThePhD
c523c67f9c move tests to subdir 2017-09-06 05:22:40 -04:00