ThePhD
2bd1cdccf0
return_type duplication
2018-03-19 00:20:08 -04:00
ThePhD
f50d8e271f
VC++ actually doesn't respect array reference return types through decltype. Kek. It's obscure, but... goodness, how does GCC and Clang get these things right consistently while VC++ keeps fumbling at it?
2018-03-18 23:41:03 -04:00
ThePhD
d14345f016
MSVC is an ass and will probably continue to be an ass for a while to come.
2018-03-17 09:09:37 -04:00
ThePhD
947945d098
Full documentation overhaul. Add a billion more examples. Fix r-values getting stuck as r-value references in proxy keys.
2018-03-16 16:47:09 -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
3f65ad43d8
Remove unused variant typedef
2018-03-11 20:12:23 -04:00
ThePhD
a83091cba4
implement visible c:pairs() and c:at() functions for the user
...
adjust metatable types
add example with a std::pair-containing container
2018-03-10 20:45:01 -05:00
ThePhD
623a38e80e
add exception trampoline support to sol2 and add an example on how to use it
2018-03-09 22:27:49 -05:00
ThePhD
560b5b2673
ᕕ༼ •̀︿•́༽ᕗ VC++ COMING THROUGH WAHAAAY ᕕ༼ •̀︿•́༽ᕗ
2018-03-06 17:36:33 -05:00
ThePhD
68738cdc83
improve docs
...
refactor default state additions to let user do the same thing with less effort
prepare for sol::upvalues tinkering
2018-03-05 22:54:31 -05:00
ThePhD
e8119ec9a3
Fix semantics of check_get for objects obtained by proxy
2018-03-04 10:56:05 -05:00
ThePhD
e8e5ddc890
fix overpop from stack_check_get tracking
2018-03-04 05:40:57 -05:00
ThePhD
ab5b417fb0
update single, change optional semantics with nullable references
2018-03-03 15:39:41 -05: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
1e5c256394
specify poly as the desired type
2018-03-02 10:09:30 -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
9bddce66f8
Visual C++ introduced a regression in all frontends that were not /std:c++14.
...
Kind of tired, don't want to file the bug....
2018-02-28 19:20:20 -05:00
ThePhD
14378e7126
properly specify transcoding behavior
2018-02-24 18:50:23 -05:00
ThePhD
6b2e282ab0
oops, the logic for the define was wrong :<
2018-02-23 16:59:48 -05:00
ThePhD
b60132ef71
Fix boost/C++17 hash mismatch
2018-02-23 11:30:34 -05:00
ThePhD
12139b8cfb
stop myself from derping out
2018-02-22 21:31:28 -05:00
ThePhD
e8a8da0b29
clang chokes on statically casted constant function expressions, thanks clang
2018-02-22 18:33:40 -05:00
ThePhD
f7f94a4f74
adjust default registration use
2018-02-22 14:48:37 -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
d7425dbb9a
initializers for arrays are stupid
2018-02-20 00:57:55 -05:00
ThePhD
c377ecebcb
more travis stuff, add missing license notice, update license year
2018-02-19 21:15:26 -05:00
ThePhD
3ad438ac01
bad fallthrough, missed specialization
2018-02-17 01:09:30 -05:00
FYP
92f4c4c053
Fix thread::status() incorrect returning value
2018-02-17 00:18:59 -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
1d0683a53e
add all examples for all interop types
...
Implements #578
2018-02-10 16:24:17 -05:00
ThePhD
af7b46864a
unicode array initializers zzz
2018-02-08 23:22:17 -05:00
ThePhD
2e648638ef
Fixes #580
...
Adds some code for #579 to warn of bad errors
Update documentation and examples, as well as fix fPIC with static builds on Linux
2018-02-08 23:19:45 -05:00
ThePhD
22127fa6fa
woops
2018-02-04 19:55:11 -05:00
ThePhD
c9980bfc28
Add push function, update single
2018-02-04 19:23:24 -05:00
ThePhD
5029751569
add inline, make string_view arrays const, and make sure the templated conversion routines use template on it
2018-02-03 10:26:17 -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
49d99d1b48
make sure right overload of create
is called to make the target table.
2018-01-30 21:05:08 -05:00
ThePhD
165b387ddb
Change bind_traits
to work better for 32-bit __stdcall
2018-01-30 11:02:46 -05:00
ThePhD
54003df3c9
as usual, herpin' that derp with the spelling errors...
2018-01-28 22:58:56 -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
83f4b4aaa0
fix unused parameter
...
fix cmake bad copy
2018-01-23 19:50:49 -05:00
ThePhD
63ec47bf6e
Make base class type checks and lookup stable across DLLs
2018-01-23 12:07:22 -05:00
Ilya Averyanov
6ae78d9ed8
Use std::bitset instead std::array of bool
2018-01-22 13:41:21 -05:00
ThePhD
f5764337cb
purge past-the-stack access in protected function result
2018-01-20 14:31:49 -05:00
ThePhD
1a64ba0fe5
Improve the docs, set up LuaJIT, and try to figure out why we can't build a DLL as an external projcet target with LuaJIT...
2018-01-19 15:03:22 -05:00
ThePhD
4378747f6f
unused lambda parameter warnings
2018-01-10 08:43:16 -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
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
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
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
Ilya Averyanov
465c0ff502
Use stack::push to push new_table in basic_table_core
2017-12-20 03:58:25 -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
c3c7f42d91
update cmakelists for new tests
...
fix problematic macro expansion issues
2017-12-10 01:34:48 -05:00
ThePhD
5f688537e0
stack_aligned_function cannot be influenced by SOL_SAFE_FUNCTION: it has different semantics and thus needs to remain unsafe.
2017-12-08 01:22:22 -05:00
ThePhD
36b8d50e27
I keep forgetting very simple things...
2017-12-07 22:34:51 -05:00
ThePhD
a2034bcc1c
update single
...
prep for next version
2017-12-07 22:12:43 -05:00
ThePhD
399300fa6e
add all safety and feature test macros, and improve feature safety definitions and configuration defines
2017-12-07 21:46:43 -05:00
ThePhD
ec020048fb
i don't like you either std::array so lets agree not to be friends
2017-12-07 09:36:12 -05:00
ThePhD
a99ea97eb7
initializer problems for arrays are literally the worst part of std::array
2017-12-07 09:16:56 -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
fe8e2245db
add CXX backdoor for predictable behavior
2017-12-01 18:47:22 -05:00
ThePhD
a8b2c257da
fix bad thread status
2017-11-29 13:34:54 -05:00
ThePhD
a0de11a773
add coroutine guard
...
update version
add donation link
2017-11-21 14:33:27 -05:00
ThePhD
4256c07ee0
error handling improvements
...
update single
2017-11-17 16:54:42 -05:00
ThePhD
4a39020df9
macro-proof the library
2017-11-17 07:20:17 -05:00
ThePhD
fa912a57f6
add cstdint
header to get SIZE_MAX
2017-11-17 07:07:56 -05:00
ThePhD
6738ceedae
finally fix handling of exceptions, pray to the Lord it works
2017-11-11 18:33:56 -05:00
ThePhD
2d31d84070
attempt to wrangle exception handling on multiple systems
2017-11-11 07:42:14 -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
9a0b5ef34a
fixed ipairs swap bug
2017-10-30 14:38:16 -04:00
ThePhD
882f337c48
vet propagation handlers
2017-10-26 13:15:02 -04:00
ThePhD
d107cb8cc9
allow final classes to be used
...
improve error reporting for stack checks
2017-10-26 12:54:30 -04:00
ThePhD
8811a268a2
improvement to how handling of safe exceptions are done
2017-10-20 20:59:52 -04:00
ThePhD
3ee36c7d2e
fix proxy compare
...
try to silence some really dumb PVS STudio warnings
2017-10-16 19:28:43 -04:00
ThePhD
475b285347
update compat layer
2017-10-04 08:36:25 -04:00
ThePhD
8f007074ff
I REMEMBER NOW
2017-10-03 10:46:26 -04:00
ThePhD
c5505c234a
I'm not the smartest.
2017-10-03 08:26:23 -04:00
ThePhD
3660aec56e
continue to analyze alignment issues
2017-10-03 08:11:48 -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
228df2630d
apple platforms use XSI-style strerror_r
2017-09-30 23:00:40 -04:00
ThePhD
5c9e8e2e45
is_stringable trait
2017-09-28 19:07:33 -04:00
ThePhD
0027ce6c84
make sure default userdata_getter
does not error everything horribly
...
update single
2017-09-24 16:04:10 -04:00
ThePhD
6d879f571a
add code to steal guts and grab stuff from other frameworks.
2017-09-23 20:26:03 -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
1b23ad8b4f
attempt to silence warnings about array usage and keep a definition check for nil
...
add some "max size" checks in other places.
2017-09-21 21:32:52 -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
2aecb11e97
update single
2017-09-14 08:51:12 -04:00
ThePhD
1fc00278d5
repair all constructors, expand type recognition
2017-09-14 08:45:44 -04:00
ThePhD
ed341e00aa
clang error on some proxy stuff
2017-09-14 00:46:38 -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