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
4256c07ee0
error handling improvements
...
update single
2017-11-17 16:54:42 -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
882f337c48
vet propagation handlers
2017-10-26 13:15:02 -04:00
ThePhD
8811a268a2
improvement to how handling of safe exceptions are done
2017-10-20 20:59:52 -04:00
ThePhD
5c9e8e2e45
is_stringable trait
2017-09-28 19:07:33 -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
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
5816c6c34b
.clang-format the crap out of everything, I guess...!
2017-09-13 02:46:56 -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
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
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
64baf6e491
testing fixes for proxy_base stuff
2017-08-27 01:59:37 -04:00
ThePhD
d98155cd22
update examples and documentation, proof typing for user
2017-08-24 14:57:28 -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
ca685e01c9
gcc plagues me , and will continue to, for a while to come
...
BUT IT WOOORKS!
2017-08-07 02:07:21 -04:00
ThePhD
03c229b25b
overhaul examples and add 2 new ones in preparation for the coming hell
...
fix how `stack_aligned_protected_function` and its friends behave
add new internal handler details to allow for stack-based handlers with maximum performance
update `string_shim` typedef to simply be called `string_view` and use `string_view` in all public-facing APIs.
2017-08-06 12:20:32 -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
ThePhD
17271c84cb
BREAKING CHANGE: std::pair
for regular containers that are not marked as as_table_t
or as_nested
will now behave like regular containers and not force themselves to be key-value pairs. table-style serialization is still unaffected.
2017-06-23 18:07:24 -04:00
ThePhD
b811e73b90
who knew noexcept proofing would be so hard...? And there's so many places it could be activated in...!
2017-06-17 00:43:26 -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
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
c6d11a2bac
fix index and newindex semantics on simple_usertypes
...
we do not have to hit the metatable by-name since we go to special lengths to ensure we have a simple usertype table we can use
2017-05-28 19:14:18 -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
58003669fb
this_environment is now live
2017-05-09 13:24:56 -04:00
ThePhD
a3d6f8044c
working stuff!~
2017-04-19 13:00:47 -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
309325d0f5
New feature: environment plus documentation about the environment table and its usage with scripts.
2017-04-02 16:10:00 -04:00
ThePhD
59b196a1db
add a new kind of error handling script call, updating docs and examples
2017-03-31 17:38:04 -04:00
ThePhD
4094ba3e7a
New feature: nested
getter for complex nested tables, plus docs and example
2017-03-30 14:11:43 -04:00
ThePhD
791aecbcd0
New documentation for as_table and some container examples
2017-03-30 01:31:55 -04:00
ThePhD
dce8053248
Time to break everything.
...
Added the ability to extend all usertypes at runtime. The performance implications need to be examined closely.
variadic_args documentation was updated with the desired example demonstrating proper usage
usertype examples were updated demonstrating Lua runtime and C++ runtime updating of a usertype table
SOL_SAFE_FUNCTIONS is now part of the definitions and defined (thanks @eliasdaler)
2017-03-12 21:35:19 -04:00
ThePhD
ab9126d892
update customization points and track un-specialized structs to trigger some safe-guards as a back-compatible safety net
2017-02-20 18:07:02 -05:00
ThePhD
37420dcdc0
Documentation update about functions and new typedefs.
2017-02-16 02:05:49 -05:00
ThePhD
8d6f304bad
Update the name table and make sure there are pairs and next metamethod entries.
2017-02-01 06:29:45 -05:00
ThePhD
490194f767
allow va_args to work with overloading, albeit things can get... bad, with it. Need to observe this more to make sure things don't go poorly.
2017-01-09 16:38:23 -05:00