Sandu Liviu Catalin
bb73f0a8b5
Fix overload name generator not taking into accoun the prefix length.
...
Include a specialized overload forwarder for constructors which don't have a free variable containing the native function pointer.
Reduce code duplication from overload forwarder retriever with variadic templates (might as well just get rid of it in the future since it doesn't appear to do much).
2019-02-17 17:09:32 +02:00
Sandu Liviu Catalin
745ef8f82b
Credit.
2019-02-09 19:52:21 +02:00
Sandu Liviu Catalin
7934b65de9
Don't compute string length twice.
2019-02-09 19:49:04 +02:00
Sandu Liviu Catalin
d0c8dc3071
Potential fix for missing itoa compile error.
2019-02-09 17:43:27 +02:00
Sandu Liviu Catalin
0f0b795ca9
Various minor changes and fixes that were not pushed to the repository. Just random stuff.
2019-01-29 18:44:55 +02:00
Sandu Liviu Catalin
0e96cc73a9
Don't create a variable out of ArgFwd since it's an empty structure used purely for ease of use in specialisations.
2018-10-31 20:20:09 +02:00
Sandu Liviu Catalin
649f04a48c
Use variatic templates to simplify NoCopy allocator.
2018-10-31 20:14:19 +02:00
Sandu Liviu Catalin
3394839542
Use standard type trait instead of legacy solution.
2018-10-31 20:11:15 +02:00
Sandu Liviu Catalin
b6d157311b
Use variatic templates to simplify DefaultAllocator.
2018-10-31 20:08:31 +02:00
Sandu Liviu Catalin
f3f4fce80b
Get rid of explicit format enabled constructors since they're detected automatically.
2018-10-31 20:07:46 +02:00
Sandu Liviu Catalin
bf9b8e9f5d
Allow argument forwarder to return a value.
2018-10-31 20:07:06 +02:00
Sandu Liviu Catalin
f4c8f42852
Include C headers regardless of character encoding selection.
2018-10-31 17:34:56 +02:00
Sandu Liviu Catalin
25bc3ce02c
Remove string stream header. Remove unused variable.
2018-10-31 17:34:23 +02:00
Sandu Liviu Catalin
82c1154c2b
Fix wrapper for overloaded methods that are expected to return a value.
2018-10-28 17:59:41 +02:00
Sandu Liviu Catalin
086eeae7b4
Improve performance in overloaded methods calls by cheating a little and calling the overload directly instead of pushing the parameters back on the stack and performing a regular function call.
2018-10-26 21:56:06 +03:00
Sandu Liviu Catalin
69bc0ba5c2
Don't guess the string size when that information is already available.
2018-10-26 18:54:04 +03:00
Sandu Liviu Catalin
e6b80a40d2
Use variadic templates to get rid of duplicate code in the class binding utility.
2018-10-26 18:50:03 +03:00
Sandu Liviu Catalin
353974528d
Update code to comply with changes in the Squirrel API.
2018-10-25 20:08:31 +03:00
Sandu Liviu Catalin
2b9c8f6550
Fix StackStrF mistaking the free function variable containing the native function wrapper pointer as a user passed parameter.
...
Also fix StackStrF treating negative indexes as positive indexes.
Make ErrorToException inline instead of static in header.
2018-10-25 19:43:38 +03:00
Sandu Liviu Catalin
d556364ecf
Attempt to fix function binding to comply with changes to StackStrF.
...
Various other changes to fix other issues related to changes in StackStrF behavior.
2018-10-24 21:37:51 +03:00
Sandu Liviu Catalin
58acfb9857
Make a few midifications to StackStrF.
2018-10-23 22:28:09 +03:00
Sandu Liviu Catalin
112d4828bb
Update StackStrF to initialize without a default VM.
2018-10-23 22:16:54 +03:00
Sandu Liviu Catalin
464821592c
Remove traces of noexcept from the binding library. This would've impaired the exception handling required by the binding system and cause a program termination for even the slightest error that occured from the script.
2018-10-23 21:29:28 +03:00
Sandu Liviu Catalin
52611bdb80
Furher changes to the script function wrapper.
2018-08-02 18:33:52 +03:00
Sandu Liviu Catalin
4c111d4139
Simplify the script function wrapper.
2018-07-31 17:41:46 +03:00
Sandu Liviu Catalin
e48cb3b43c
Fix previous refactor which caused functions with format support to not fallback to dummy values when StackStrF tail arguments were not specified.
2018-07-30 23:00:45 +03:00
Sandu Liviu Catalin
0deb209e7b
Refactor the binding library even further to reduce code size and complexity.
2018-07-30 21:44:04 +03:00
Sandu Liviu Catalin
ecca09d6ce
Allow null parameters in StackStrF.
2018-07-30 20:40:52 +03:00
Sandu Liviu Catalin
4e31fc478c
Multiple fixes for last refactoring.
2018-07-30 01:51:02 +03:00
Sandu Liviu Catalin
89734ae1b2
Update sqrat allocator to comply with changes to StackStrF.
2018-07-30 01:07:33 +03:00
Sandu Liviu Catalin
f300e7ff4a
Massive code reduction in the binding utility by using variadic templates.
...
Extensive code refactoring surrounding the StackStrF helper to facilitate the new changes.
Various other miscellaneous changes and code refactoring to facilitate the new changes.
2018-07-30 00:58:27 +03:00
Sandu Liviu Catalin
199e9ac502
Significantly reduce the amount of code required to forward calls from scripts to global native functions with format support by using variadic templates.
2018-07-29 20:25:11 +03:00
Sandu Liviu Catalin
c70f3bfcf2
Update the ArgPop helper to allow sending extra parameters to the last argument.
...
Fix how StackStrF is handled by Var helper.
2018-07-29 20:24:23 +03:00
Sandu Liviu Catalin
a63398913b
Fix parameter count check.
2018-07-29 19:32:19 +03:00
Sandu Liviu Catalin
fb39d5a300
Significantly reduce the amount of code required to forward calls from scripts to global native functions by using variadic templates.
2018-07-29 19:28:46 +03:00
Sandu Liviu Catalin
5744eb81d9
Implement ArgPop helper to reduce code duplication when forwarding calls from script to native functions.
2018-07-29 19:27:38 +03:00
Sandu Liviu Catalin
71419ffd99
Fix comments on StackStrF helper.
2018-07-29 19:26:09 +03:00
Sandu Liviu Catalin
5146dce440
Replace retrieval of function parameter count with a variadic template implementation to reduce code size.
2018-07-29 14:41:23 +03:00
Sandu Liviu Catalin
7ed5183d45
Replace template specialisation used to execute a script function with variadic templates in order to reduce code size.
2018-07-29 14:36:52 +03:00
Sandu Liviu Catalin
2dcd9ee986
Use a standard implementation to check for type conversion.
2018-07-29 14:35:51 +03:00
Sandu Liviu Catalin
13d5a3af3f
Introduce a new constructor into the sqrat Table wrapper which can create a table with an initial capacity.
2018-07-15 21:31:44 +03:00
Sandu Liviu Catalin
f51b4968ac
Fix bug in plugin caused by not popping the closure from the stack after calling it.
...
This would've caused the plugin to run out of stack memory eventually.
2018-07-05 21:01:08 +03:00
Sandu Liviu Catalin
2e8d97f071
Add another stack cleanup utility to the Sqrat library.
2017-08-07 00:21:59 +03:00
Sandu Liviu Catalin
5fa97e17d9
Include a guard in the object iteration helper to avoid leaking in case of exception.
2017-06-19 14:24:10 +03:00
Sandu Liviu Catalin
641fa973e0
Add a helper function to iterate over the elements in a script object more efficiently and easier.
2017-06-19 14:06:35 +03:00
Sandu Liviu Catalin
c17a54b907
Add a helper function to append multiple elements into a script array more efficiently and easier.
2017-06-19 14:06:01 +03:00
Sandu Liviu Catalin
d8c9be59d4
Remove redundant initialization to null in script object iterator.
2017-06-19 13:51:58 +03:00
Sandu Liviu Catalin
7bb44ec008
Make builtin formatted strings default to false to avoid trying to perform a format in cases where it can be folled by a following parameters that are not meant to be part of that formatted string.
2017-06-18 20:25:12 +03:00
Sandu Liviu Catalin
bb7a6881c6
Make sure that the free variable containing the pointer of the registered native closures is taken into account when registering functions with formatting support that take no extra parameters other than the formatting string and trailing variable arguments.
2017-06-17 22:41:03 +03:00
Sandu Liviu Catalin
c5b509dcb3
Avoid creating multiple objects for the same string when event parameters contain strings.
...
Include a helper fonstructor in the light object type for quick string object creation.
2017-02-21 22:17:25 +02:00