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
6738ceedae
finally fix handling of exceptions, pray to the Lord it works
2017-11-11 18:33:56 -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
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
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
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
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
62b242bc96
unused parameter, accidental string
2017-08-07 07:59:13 -04:00
ThePhD
f1ff3d6492
improve tests
...
change the default chunk name (and make it trail off if chunk name is too small)
minor changes to appease g++'s and clang++'s many warnings
2017-08-07 07:54:43 -04:00
ThePhD
b86d90f0e5
std::cend doesn't exist in C++11
...
remove unused variables detected by clang and g++
appease the parenthesis monster that was put into g++ 5.0
2017-08-07 02:27:08 -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
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
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
2df532f79b
There was a leak when running scripts and catching errors, where she didn't properly clean up the stack.
2017-04-09 12:04:57 -04:00
ThePhD
fb06c8a754
Fix slight error when error handler was called and the result wasn't properly moved.
2017-03-31 22:39:16 -04:00
ThePhD
7b63057ba8
PRAISE BASED EEVEE
2016-11-26 03:32:28 -05:00
ThePhD
57c933cc9b
bitfield example and link in docs
2016-11-15 22:45:34 -05:00
ThePhD
045d9371df
customization points are now live
2016-07-29 00:57:47 -04:00
ThePhD
de359acb3e
Let's do iiiit.
2016-07-28 13:33:08 -04:00
ThePhD
ac5f13ce2f
Now protect should work in multiple places, albeit we still need to do some optimizations to kick it in
...
Address #137 and improve implementation to not have to pop arguments
2016-07-09 13:38:55 -04:00
ThePhD
27174aba9c
This mega-commit produces simple_usertype
to allow for faster compile times by avoiding the use of __index
internally. It sacrifices some speed and some storage optimizations and also does not allow variable syntax, but the produced table is directly modifiable.
...
Adds a `protect()` function to trigger safety for an item.
This commit also optimizes away all instances of virtual function calls for function calls and storage. Will need to test speed to see how it works out.
Closes #133
Closes #134
Closes #135
Closes #136
2016-07-07 16:52:39 -04:00
ThePhD
97c132d91d
Preserve internal type of member function calls / pointers, even if they're base types linked to derived types
2016-06-22 13:26:27 -04:00
ThePhD
63b9f748f7
Nice segmentation fault, GCC
2016-06-19 19:13:01 -04:00
ThePhD
556be8da98
Documentation updates -- require function and add function and size function needed documentation
...
New `add` function as requested by @EliasD
2016-06-19 17:59:40 -04:00
ThePhD
d626eb0461
Well, that was a nasty hidden bug. But it's all clean now!
2016-06-18 04:10:47 -04:00
ThePhD
e1241c110a
SPEED AND FIXES, HOOOOOOOOO!
2016-06-10 21:04:48 -04:00
ThePhD
295b7b1a08
The performance went to shit and I need all the perf tools I can get to find out why.
2016-06-09 21:14:12 -04:00
ThePhD
c458849d29
Many of the tests are still busted, but we're getting closer.
...
Closes #96
Closes #79
Fixes #105 - but we still need to double-check and add a test to prove it
2016-06-06 15:46:53 -04:00
ThePhD
e35fe6be85
This mega-commit implements the new usertype_metatable
while keeping everything else still intact. Blurgh, managing API versions suck...
2016-06-03 21:40:23 -04:00
ThePhD
3b81a7c85f
VC++ is a butt, but this Closes #91
...
It prepares for #97 as well, and blocks out #95 until I can be assed
Now, it's either performance or handling sol::property ...
2016-05-19 02:15:42 -04:00
ThePhD
9e31119f16
This commit adds some QoI constructor keys / types, as well as implements make_object
. The documentation has been updated as well.
...
Closes #78
Closes #77
Closes #76
Closes #75
2016-05-03 14:19:30 -04:00
ThePhD
2497567897
Inclusion argument order sorting
2016-04-23 17:40:22 -04:00
ThePhD
96da27d565
Ensure argument transparency.
2016-04-18 08:27:30 -04:00
ThePhD
4123830e6c
Should probably introduce a is_push_pop_transparent
trait for things like is_this_state
...
2016-04-17 03:13:46 -04:00
ThePhD
90ea495d4c
"constexpr" my ass.
2016-04-17 02:26:18 -04:00
ThePhD
88155d44e0
sol::property is implemented for usertypes now
...
sol::this_state is a transparent argument that gets the current state at any position in any callback
sol::variadic_args allows a person to get something that can reference the "rest of the arguments", though it doesn't enforce that it has to be the last argument
Closes #57
Closes #59
Closes #60
2016-04-17 02:18:34 -04:00
ThePhD
9734577fdb
stack implementation, plus reference semantics within lua for usertypes/data now.
...
I hate my life.
I hate the projects I'm working on.
Closes #53
Closes #56
Closes #52
2016-04-07 05:21:49 -04:00
ThePhD
8862c65f0a
NOW we're truly feature complete. Sheesh, the work that this requires....
2016-03-31 16:16:07 -04:00
ThePhD
5acb33e2bc
full-on optional support. so much support it's coming through my eyeballs. Goodness.
...
Support for c_call wrapper to be a thing.
2016-03-30 00:31:18 -04:00
ThePhD
68660a1bed
Allow for checking whether or not a given proxy is valid.
2016-03-25 05:27:19 -04:00
ThePhD
09a0a5051a
Documentation updates and new stack::check_get API.
2016-03-24 15:45:44 -04:00
ThePhD
c3bf2e04f8
I really don't like clang.
2016-03-15 06:45:49 -04:00
ThePhD
d52bc23f53
Mooooar tests. And better support for proxy and tuples.
2016-03-15 06:36:25 -04:00
ThePhD
3534bc222c
proxy is now pushable, making it usable with functions
2016-03-15 05:20:56 -04:00
ThePhD
20d85850ea
Ha ha haaa I forgot std::pair is a tuple-like type .-.
2016-03-14 18:33:10 -04:00