Commit Graph

86 Commits

Author SHA1 Message Date
ThePhD
0e321272e6
update docs a bit, think aobut changes to container_traits and friends... 2018-08-10 11:17:31 -04:00
ThePhD
8a27648b77 add pointer() method 2018-06-27 11:35:09 -04:00
ThePhD
8b52c35249 clean up interactions with unique types that are not base/derived aliasing 2018-06-17 16:29:19 -04:00
ThePhD
96143d8d79 add ability to have aliasing arguments 2018-06-17 15:42:24 -04:00
ThePhD
968989bef7 Fix for LuaJIt issues 2018-06-15 20:24:11 -04:00
ThePhD
92f3330e03 fix #668
update single
2018-06-15 15:50:51 -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
ThePhD
9106597663 ensure constness does not infect unique usertypes
fix #644
2018-05-12 01:57:55 -06:00
ThePhD
479575c0ca This update allows for many more definition macros and teh use of a configuration header to be combined with the single.py
Allow for configuration macros to aid in fixing #631
2018-04-17 12:29:03 -04:00
ThePhD
80df3fc915 Fix #626
Fix #625
Fix #624
2018-04-12 13:58:25 -04: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
c377ecebcb more travis stuff, add missing license notice, update license year 2018-02-19 21:15:26 -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
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
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
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
8f007074ff I REMEMBER NOW 2017-10-03 10:46:26 -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
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
8d828ac47b implement main_reference as per @eliasdaler's suggestions 2017-09-14 00:35:40 -04:00
ThePhD
5816c6c34b .clang-format the crap out of everything, I guess...! 2017-09-13 02:46:56 -04:00
ThePhD
fc91147edc fix errors 2017-09-05 21:07:33 -04:00
ThePhD
eb313eb8bc remove string_shim and just outright make a basic_string_view mockup that serves our purposes. It won't be a real string view, but then again nobody should be using it extensively!~ 2017-09-05 20:29:21 -04:00
ThePhD
761641202f initial __type implementation, need to bikeshed over what goes in it and how to query information (sol::lib::extensions time?)
fixed `sol::string_view` not pushing a string based on return type
2017-09-05 13:58:17 -04:00
ThePhD
54bcda140c upgrade checkers and handlers to take a semi-optional "reason" type (const char* c-string desired)
add constructor_handler in same vein of handlers
add argument_handler in same vein of handlers
rewrite env_t checkers
2017-08-31 20:47:09 -04:00
ThePhD
92a6fb8c11 update all the examples
fix implicitly convertible function pointers from classes using `call_detail`'s `lua_call_wrapper`
specificaly add documentation for working with `std::function`
2017-08-24 14:39:02 -04:00
ThePhD
0c9d567d0a "automatic usertypes" are now applied everywhere, regardless of what happens
new sol::filters (currently undocumented)
new gc tests, new plain_type tests
core abstractions over usertypes streamlined
SOL_STRINGS_ARE_NUMBERS triggers added
update single
2017-08-21 15:25:43 -04:00
ThePhD
5683216e26 thread_local weee 2017-08-12 09:42:44 -04:00
ThePhD
b81483a406 shift travis test to run the luaJIT on the most updated
block windows macro crap
update single
2017-08-11 22:27:05 -04:00
ThePhD
7af8b4e80a make sure tests don't throw where possible
edit stack checks
update container_usertype_as_container examples
2017-08-11 18:12:13 -04:00
mrgreywater
372db6f6ab large integer 2017-08-11 11:39:46 -04:00
ThePhD
b1f7d81acb immunize as_table from std::reference_wrapper and pointer types. 2017-08-07 15:10:05 -04:00
ThePhD
c4b13b2b73 modify table push operations 2017-08-07 14:54:17 -04:00
ThePhD
104485bebd this mega commit prepares to fix all of the issues listed in the repository for the past 3 weeks 2017-08-05 19:20:28 -04:00
ThePhD
e69e7c79fa C++17 additions: std::variant, string_views of all types, checker for if we have the right version
added variadic_results, to return a variable number of arguments to Lua
added variadic_results and as_results
added improved function examples (for multiple results and split overloading out)
added tests for variadics
added tests for C++17 utilities
added a forwarding header
added a specific `unsafe_function` header
added and improved documetation pages
2017-07-09 12:54:52 -04:00
Rohlem
077448bfc8 enable move semantics when pushing rvalue optional
add forward_like-style cast to stack::pusher<optional<O>>
2017-07-06 20:13:09 -04:00
ThePhD
1a6937e24e Revert previous change of not pushing nil when we encounter a nullptr from special usertypes. If people want to check, they'll need to use optional or a raw pointer: messing with the raw usertype can also lead to some surprising problems, so we don't need to specialize for that use case. 2017-06-30 18:18:25 -04:00
ThePhD
11916a7c72 add noexcept function type barriers and guards
noexcept-proof function call trampolines
add noexcept tests to ensure its being checked
TODO: check g++ 7.1 builds when using -std=c++17 ...
2017-06-16 18:43:40 -04:00
ThePhD
0fb53335c4 this commit adds support for differentiating between multiple different unique_usertypes without actually having to store type information. It does not include the ability to override a unique_usertype label for a specific type, but that might not prove necessary if differentiation remains possible with this methodology
Complete fixes #422 and addresses #423
2017-06-15 01:23:51 -04:00
ThePhD
090c834f2c Let nullptr pass through, but we still can't do a conversion from lua_nil to unique_usertypes. 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