Commit Graph

586 Commits

Author SHA1 Message Date
ThePhD
b2d137f65f change resolve to behave better with crappy clang 2016-11-14 21:39:26 -05:00
ThePhD
f5930bfa48 constexpr resolve 2016-11-14 13:58:55 -05:00
ThePhD
1461ab780c Fix an idiot derp in the code
and stop having sleep attacks...
2016-11-14 13:42:55 -05:00
ThePhD
22e17eb9fd Correct spelling is hard. 2016-11-13 04:21:24 -05:00
ThePhD
fbc0fc5f93 Properly word the exception documentation and made some proper links.
Update single and use proper wording.
2016-11-13 03:48:22 -05:00
Anand Aiyer
6e6cb675e2 SOL_LUAJIT_FULL_INTEROPERABILITY - If you are using a platform and
compiler that has full c++ exception interoperability
(http://luajit.org/extensions.html#exceptions), define
SOL_LUAJIT_FULL_INTEROPERABILITY. This will prevent sol from catching
(...) errors - in platforms & compilers than have full c++ exception
interoperability Lua errors can be caught with catch (...) in C++ - in
these cases sol inaccurately prevents Lua errors from being propagated
correctly.
2016-11-13 12:02:29 +05:30
Anand Aiyer
951b821272 missing ';' when SOL_NO_EXCEPTIONS is enabled 2016-11-13 11:22:54 +05:30
ThePhD
02bbe0c528 improve docs heavily 2016-11-11 12:44:34 -05:00
ThePhD
4116db8c89 Add heavy support for all things array and list and stuff 2016-11-09 07:42:45 -05:00
ThePhD
3b4dd52caf Fix is_container derp that triggered fault construction of pointer types 2016-11-07 13:52:20 -05:00
ThePhD
f8705202e2 Update single and update safe usertype checking 2016-11-06 16:34:05 -05:00
ThePhD
1c73fb054b std::cend doesn't exist in older compiler versions... 2016-11-05 23:25:46 -04:00
ThePhD
3e77a77ddc fix container usertype metatables 2016-11-05 23:04:32 -04:00
ThePhD
52f69a2653 Heavily improve documentation and add new container functions. 2016-11-05 20:08:07 -04:00
ThePhD
d863a56760 Weee, script return value tests 2016-11-02 19:00:16 -04:00
ThePhD
9836aba51d octal constants suck =/ 2016-11-01 19:24:59 -04:00
ThePhD
0a165dc5b4 Sometimes? You just don't like C++. At all. 2016-11-01 06:03:54 -04:00
ThePhD
c2c9ccf89c constexpr? More like LULexpr. 2016-11-01 05:57:48 -04:00
ThePhD
d3cb9042c3 Heey, no more submodules needed now. 2016-11-01 05:39:44 -04:00
ThePhD
1213c8959a Ditch the dependency on the optional submodule, nobody's ever gonna care about it... 2016-11-01 05:31:59 -04:00
ThePhD
c9728b7e27 do_string / do_file synonyms. I have to document all this... 2016-10-30 05:56:56 -04:00
ThePhD
0859af3203 Fix comparisons done of improper types 2016-10-30 04:40:17 -04:00
ThePhD
f896a9ea16 Pop errors off the stack if they're present. 2016-10-29 15:12:47 -04:00
ThePhD
5193db55c3 allow for not-containers to be specified
Make sure tables of various sizes are kept working
2016-10-28 04:36:04 -04:00
ThePhD
85329ca183 Mmn. Always making lots and lots of small changes. 2016-10-23 19:17:33 -04:00
ThePhD
2ac711b7f8 fix static initializer bugs from crap -- and remember to hunt down and get rid of all non-constexpr things like it in the future... 2016-10-21 17:32:27 -04:00
ThePhD
a65f795b79 ipairs and pairs improved support, folding the registration table down to avoid duplicated code 2016-10-21 07:05:58 -04:00
ThePhD
661e361b26 inline pls 2016-10-15 18:53:42 -04:00
ThePhD
391f29afb1 Oh boy, new compatibility files...! 2016-10-15 18:36:30 -04:00
ThePhD
940f44db55 Add presentation from Lua Workshop 2016
Have proper detection for numbers (even if it comes at a higher cost)
2016-10-15 18:14:19 -04:00
ThePhD
c2d219ea7d Reworked the architecture of usertype functions to include a shim table between it and the actual metatables.
This means that usertype tables visible in the code and bound to the name specified with `new_usertype` and friends will be normal tables, and those tables delegate their responsibilities to the 3 backend tables of `sol.unique_usertype<T>`, `sol.T`, and `sol.T*`. This separation allows for a few caveats for updating and overriding members of `new_simple_usertype` tables to 'just work' without any serious hassle, and to have a single point that lets up decide how to perform updates properly. It also restores an optimization we had to turn off by ham-fisting whether ot not indexing was turned on the usertype metatables themselves.

o wow wow wow it's such a nice commit message look at how organized it is
PFFFFFFFFFF.
2016-10-11 05:58:49 -04:00
ThePhD
e0e376a370 -1 size key is bad: remember to add this to presentation... 2016-10-05 20:55:40 -04:00
ThePhD
0ba4650c64 Another example, constness derp fix 2016-10-05 20:39:49 -04:00
ThePhD
009d6b0fa9 Fix protected_function shenanigans, hopefully for good. 2016-10-04 23:37:08 -04:00
ThePhD
4ac35aa8f4 sometimes, I have a dumb. Othertimes, the lua docs are sneaky and have subtle maybe-behaviors when other parts of their API never do. Sneaky, sneaky API... 2016-10-02 13:37:52 -04:00
ThePhD
23c2c6dedc weee slight fix and doc update 2016-10-01 18:19:35 -04:00
ThePhD
b05ce97247 Allllll the fixes. All the time. Mostly to make sure constructors don't fight with each other and safety is respected. And documentation updates. 2016-10-01 01:27:40 -04:00
ThePhD
6c34a2ac4f updated protected_function stuff 2016-09-30 01:42:23 -04:00
ThePhD
72a445ff6a Some minor fixes and updates 2016-09-29 03:29:48 -04:00
ThePhD
cbe599a901 Referential transparency is important. 2016-09-28 19:05:26 -04:00
ThePhD
d7b037da73 Sigh. Make sure that tuple expansion works in buggy VC++ compiler. 2016-09-26 04:02:03 -04:00
ThePhD
d88db0faff Buh. Capturing the right semantics is always hard. 2016-09-22 11:49:29 -04:00
ThePhD
3a00ce0adf Some minor fixes and DOCS AND EXAMPLES WOOoOooOOooOoo 2016-09-22 07:13:04 -04:00
ThePhD
9d52ed49ba balance that stack, goddamnit, BALANCE IT 2016-09-19 23:37:00 -04:00
ThePhD
8c9c662d97 Truly, I am a spectacular idiot... 2016-09-19 01:17:58 -04:00
ThePhD
89107d3b90 Fix crashing of simple usertypes from a previous herpderp. 2016-09-19 00:36:50 -04:00
ThePhD
1593ca00af eat a dick gcc 4.9 2016-09-17 22:39:21 -04:00
ThePhD
1dfeb1dc7c i hate old tools 2016-09-17 22:27:28 -04:00
ThePhD
330df79ab9 OoOoOooh and the world exploooodes.
Added new examples to illustrate a few things people were wondering about
HEAVILY fixed up usertypes and inheritance. Again. Sigh. One day it'll all be correct.
2016-09-17 22:15:46 -04:00
ThePhD
8028628868 Merge remote-tracking branch 'origin/develop' into develop 2016-09-17 12:03:43 -04:00
ThePhD
52836c12a3 o boi simple usertype shenaaaanigans!~ 2016-09-17 12:03:20 -04:00
OrfeasZ
95ddf46b55 Introduced a new simple_usertype class which derives from usertype.
Exposed an "add" function for it in order to allow adding members one at a time before registration.
Introduced state_view.create_simple_usertype<T>() methods for creating simple_usertypes.
2016-09-17 18:22:19 +03:00
ThePhD
3df64718ad update everything 2016-09-14 00:10:25 -04:00
ThePhD
0e56783de9 Bark. I always forget things. 2016-09-14 00:02:15 -04:00
ThePhD
34d844a06f gdi gcc, catch that shit -- update single 2016-09-13 12:53:59 -04:00
ThePhD
0de30f3b3a Upgrading simple_usertype implementation with BREAKING changes. Docs now include that information too. as_function now works with usertypes for limited cases. 2016-09-13 12:37:08 -04:00
ThePhD
5dface25fb fix problem with instantiations of abstract classes in optional reference 2016-09-10 20:59:12 -04:00
ThePhD
cb0116a3df Add guard for luaL_loadbufferx 2016-09-04 11:41:24 -04:00
ThePhD
d451271bf4 protected function updates 2016-09-04 10:54:55 -04:00
ThePhD
c6540caf67 herped the derp: gotta leave these things alone... 2016-09-01 12:36:25 -04:00
ThePhD
431977a568 herpin' that derp 2016-09-01 09:02:50 -04:00
ThePhD
6a3b0adf0d error detection for coroutine and protected function 2016-09-01 08:49:30 -04:00
xujh
6791d6ebf2 change std::snprintf to snprintf for android compile 2016-09-01 12:02:41 +08:00
ThePhD
5093f61615 Attempt to fix #119 by using less-powerful C++11 features and praying for the best
Fix #205
Partially address #204 (will need to do more -- perhaps add an automatic-conversion shim?)
2016-08-30 18:09:42 -04:00
ThePhD
5b5d1e9ca6 MIGHT AS WELL. 2016-08-27 08:45:37 -04:00
ThePhD
354c26772a 2.12.1 version includes automatic operator binding for basic comparators
it'll only be a matter of time before people ask me to auto-bind `operator+` and shit, but the answer for that will be no...
2016-08-25 12:50:50 -04:00
ThePhD
81ffb3f334 make sure proxies can be properly set to one another 2016-08-24 12:21:14 -04:00
ThePhD
54cffb7b6d tables and userdata and pairs and ipairs, oh my 2016-08-24 08:31:18 -04:00
ThePhD
cf76f6baa0 V E T T E D
Slight breaking change, but at the source level almost nothing changes (ipairs is the only thing that changes because for some reason it checks if what is passed is a table and that really doesn't make any fucking sense)
Closes #195
Closes #196
2016-08-23 21:42:27 -04:00
ThePhD
5b65ea1460 O-O-O-OVERHAAAAAUL no not really just bug fixes.... 2016-08-22 22:45:06 -04:00
Kevin Brightwell
a6c95dbb74 Add check for validity with object in require_file
Closes #193
2016-08-22 17:13:25 -04:00
ThePhD
56ed859d3f unqualified unqualified unqualified 2016-08-21 22:13:26 -04:00
ThePhD
6243cbe103 push_reference should respect unique usertypes 2016-08-21 19:24:26 -04:00
ThePhD
ec97dac651 push_reference must respect unique_usertypes are primitives 2016-08-21 19:20:31 -04:00
ThePhD
fd657ea249 qq clang pls 2016-08-19 21:38:19 -04:00
ThePhD
e31ed71006 Add hinting optimization to arrays 2016-08-19 21:08:03 -04:00
ThePhD
1ae78e1b54 High performance iteration for arrays 2016-08-18 23:51:41 -04:00
ThePhD
5ac32c7863 SIGH unused FUCKING variable 2016-08-17 16:00:27 -04:00
ThePhD
d06f2e6458 remove used variable 2016-08-17 15:53:26 -04:00
ThePhD
f256afffa3 Merge remote-tracking branch 'nava2/fix-osx-include' into develop 2016-08-17 15:49:14 -04:00
ThePhD
7744a49cfe I can spell good I promise
update bootstrap to properly use depsfile
2016-08-17 15:47:18 -04:00
ThePhD
4c2748eaef Fix in_place and optional usage here
Add `has_begin_end` getters for standard things
2016-08-17 15:05:26 -04:00
Kevin Brightwell
366937830c Fix #180 2016-08-17 14:29:21 -04:00
ThePhD
7903e1ec05 New initializer type called sol::factories, and the documentation to go with it 2016-08-17 01:16:44 -04:00
ThePhD
80981c2675 Fix the inheritance for newindex based calls 2016-08-14 13:20:27 -04:00
ThePhD
f608c4f0f8 Guess who joined the fuccboi club with g++ and VC++? THAT'S RIGHT, IT'S MINGW AND IT'S HANDY DANDY FRIEND, LIBSTDC++! WOOOOOO! 2016-08-12 15:57:53 -04:00
ThePhD
0d1d5ebd09 Turns out C++ sucks when all implementers don't do things equally as fast. WHO KNEW? 2016-08-12 13:08:59 -04:00
ThePhD
ffdff21487 Trying to be smart about shit, take 1. :B 2016-08-12 12:30:18 -04:00
ThePhD
391152382c [ci-skip] update feature table and be good at stuff 2016-08-12 11:06:14 -04:00
looki
09ba220e62 Fix 'expected .. received ..' message for function arguments 2016-08-12 04:33:26 +02:00
ThePhD
ff8ac8a6d4 One day I'll have a perfect release... 2016-08-11 11:36:39 -04:00
ThePhD
0338b7d18f Baby you construct me in all the right ways, let's spend our lifetimes together in this wonderful scope.~
Closes #168
2016-08-11 09:16:23 -04:00
ThePhD
4cde2b6a3b making questionable decisions since 1892 2016-08-11 07:25:57 -04:00
ThePhD
4aea285769 So we have 'inherited' metatables now. But is it fast? 2016-08-10 07:23:49 -04:00
ThePhD
94a1898b37 [OH GOD SO BROKEN WHY] This is tentative, untested "support" for calling inherited functions. 2016-08-10 06:32:44 -04:00
ThePhD
49cc3bddf0 Make everything super robust, thanks to @eevee pointing out some derps in how things were handled 2016-08-07 20:56:05 -04:00
ThePhD
57333bb529 Grumblemumble goddamn Xeo grumbleMumble 2016-08-07 14:04:07 -04:00
ThePhD
ba5465dd86 Fix #149's issue because Clang and Apple together are not an OTP. 0/10 would NEVER ship together
Fix regression of #166 because I am retarded
Get to looking at OrfeasZ's changes so I can know what to do with base classes
2016-08-07 12:41:29 -04:00
ThePhD
dc79e72c59 sol::vars support in most places, and updated documentation 2016-08-06 18:41:54 -04:00
ThePhD
dc05552e81 sol::var is now in business 2016-08-06 17:29:07 -04:00