Commit Graph

1945 Commits

Author SHA1 Message Date
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
007fd19b8d [ci skip] docs, like the last commit 2016-10-10 04:44:06 -04:00
ThePhD
1dfa17dd82 usertype 2016-10-08 12:52:08 -04:00
ThePhD
1be01b716b fix example assert 2016-10-05 21:26:06 -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
d51db7d23d [ci-skip] Unreal 4 checks 2016-10-05 00:59:53 -04:00
ThePhD
009d6b0fa9 Fix protected_function shenanigans, hopefully for good. 2016-10-04 23:37:08 -04:00
ThePhD
dd031613a8 update single 2016-10-02 18:24:33 -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
c77f1a26f5 Boy, these compilers SUCK. 2016-10-01 02:56:31 -04:00
ThePhD
72f39d83c7 optional update and single update, because THANKS GCC 👍 2016-10-01 02:31:11 -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
ca28f8577e update single 2016-09-30 01:42:46 -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
471b5870e2 update single 2016-09-28 19:10:36 -04:00
ThePhD
86664b4c60 extraneous variables 2016-09-28 19:07:54 -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
63093ecba4 [ci skip] prepare for battle 2016-09-23 03:35:42 -04:00
ThePhD
312a368240 includes aren't right, headers aren't right... buh 2016-09-22 12:36:33 -04:00
ThePhD
508d21c842 Why oh why... 2016-09-22 12:16:52 -04:00
ThePhD
dc000fb435 SIGH Lua SIIGH. 2016-09-22 12:05:25 -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
77a1ce76b5 update single 2016-09-19 23:40:50 -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
431c629e42 [ci skip] bump version 2016-09-17 23:01:47 -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
132ff87fbc update single 2016-09-17 22:17:03 -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
The Phantom Derpstorm
68a9877a5e Merge pull request #225 from OrfeasZ/ut-helpers
Added helper functions for defining simple_usertype members manually.
2016-09-17 12:02:15 -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
46b107712f [ci skip] spelling errors 2016-09-13 14:08:44 -04:00
ThePhD
34d844a06f gdi gcc, catch that shit -- update single 2016-09-13 12:53:59 -04:00
ThePhD
22d5a70c25 [ci skip] upgrade single 2016-09-13 12:38:13 -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
a7f43991eb [ci skip] be as ridiculously explicit as possible 2016-09-11 04:49:05 -04:00
ThePhD
5dface25fb fix problem with instantiations of abstract classes in optional reference 2016-09-10 20:59:12 -04:00
ThePhD
edb8eacac7 Add additional namespacing example and tutorial 2016-09-09 07:48:45 -04:00
The Phantom Derpstorm
787cb259c2 Merge pull request #209 from jkbz64/develop
Fix links in docs/api/reference
2016-09-07 07:15:35 -04:00