Commit Graph

483 Commits

Author SHA1 Message Date
ThePhD
42253cadfb guard against is_integral accepting booleans as integers 2017-06-12 10:45:51 -04:00
ThePhD
d8f6127bf8 boosted pragmas 2017-06-07 12:53:24 -04:00
ThePhD
02110a5361 update single with newest version
Fixes #414
FIxes #419
2017-06-07 12:36:35 -04:00
ThePhD
661386c384 revert codecvt fix for MinGW v7 and greater
add docs about compiler support
add notes about compilation issues
update single
2017-06-07 12:33:59 -04:00
ThePhD
ea895b4338 hard errors for container usertypes if SOL_CHECK_ARGUMENTS is defined.
otherwise, as usual, we assume you know what you're doing
2017-06-03 06:25:06 -04:00
ThePhD
51245a9e7b go to hell, gcc and clang 2017-05-29 13:06:37 -04:00
ThePhD
fd8e2df92e fix some semantics for container usertypes, their iterators, and how they push their value types (to cope with crappy input iterator "containers")
add better handling for `readonly` to prevent bugs from `const`-ifying the return value of a member variable (e.g., unexpected copy semantics)
add more tests and add a few more handlers for new readonly type
fix simple_usertype_metatable's handling of newindex and index when not at the top level
2017-05-29 10:32:37 -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
2393d0bcfd update single 2017-05-20 20:03:28 -04:00
ThePhD
5ff394ae0d use the copy assignable trait, even if that's not exactly what we're going for... 2017-05-16 20:20:59 -04:00
ThePhD
51d6f6fa54 You would think that we'd have accounted for this earlier...
Fixes #405
2017-05-16 06:12: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
86e2de297d update single, ensure unused variables are axed 2017-05-09 13:31:44 -04:00
ThePhD
8efafca46a [ci skip] update single, bump version 2017-05-09 13:27:23 -04:00
ThePhD
c7237806ef add a new example, add a note, adjust for LuaJIT Beta3 and beyond (hopefully it doesn't flip its crap: will have to warn suers....) 2017-05-07 10:16:47 -04:00
ThePhD
5bc5def14d update single 2017-05-04 03:18:46 -04:00
ThePhD
fc3e7c40f3 static properties work as intended, I guess 2017-04-25 19:44:53 -04:00
ThePhD
c124d51353 Fix #398 by ensuring proper usertype propagation. 2017-04-20 20:27:32 -04:00
ThePhD
3d5f80e35a Fix bad tag for clang 2017-04-19 15:29:26 -04:00
ThePhD
a3d6f8044c working stuff!~ 2017-04-19 13:00:47 -04:00
ThePhD
de7d7e8da5 update versions 2017-04-18 20:26:35 -04:00
ThePhD
2acc8bee14 get_environment, documentation updates, and tests 2017-04-18 20:23:20 -04:00
ThePhD
36cc7f2863 crush the stack on final error when throwing to prevent 'leaks' in bad cases 2017-04-09 19:37:45 -04:00
ThePhD
a6e03ac214 tfw you break everything 'cause you're bad 2017-04-09 13:03:41 -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
814562260d Fixes #394 2017-04-08 08:25:49 -04:00
ThePhD
28fff10637 Well, that bug was annoying to track down, but it was from the single.py script. This fixes #392 2017-04-06 21:15:22 -04:00
ThePhD
8c94cb730b Fix static initialization order fiasco with meta_function_names 2017-04-04 16:16:22 -04:00
ThePhD
7fa7f0f2e9 updoot single 2017-04-02 22:39:20 -04:00
ThePhD
f4434393ce add single 2017-04-02 16:30:14 -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
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
92d31b39b7 update single 2017-03-30 04:21:11 -04:00
ThePhD
b835e7d2c7 update Unreal's check mechanism 2017-03-26 11:28:32 -04:00
ThePhD
e27922e844 Fix a latent herpderp from when I added new constructors to protected_function that resolves an ambigious implicit conversion. 2017-03-25 20:28:22 -04:00
ThePhD
3342e65b38 fixes to a lot of tests and proper subclassing for internal metatable data and work done to all of the usertypes to make them behave as expected 2017-03-23 21:13:46 -04:00
ThePhD
7c29964339 allow personal indexing function to catch rewrites to itself in usertypes statically and dynamically 2017-03-23 10:19:23 -04:00
ThePhD
9daf52e8df update single 2017-03-22 07:54:19 -04:00
ThePhD
8938c54404 update version, update single 2017-03-21 16:56:25 -04:00
ThePhD
4b58b4ace3 update single 2017-03-19 20:58:35 -04:00
ThePhD
42aa55db8f update single 2017-03-16 16:01:42 -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
889a45d0b3 update single 2017-02-20 03:45:47 -05:00
ThePhD
dde4aa64fc simple_usertype now responds with nil on bad lookups and sets items into place properly when new_index'd 2017-02-19 05:00:11 -05:00
ThePhD
295bc3a911 update single 2017-02-18 21:59:53 -05:00
ThePhD
23e3f2c26d make sure member functions for simple usertypes propogate their desired type. 2017-02-17 05:46:39 -05:00
ThePhD
37420dcdc0 Documentation update about functions and new typedefs. 2017-02-16 02:05:49 -05:00
ThePhD
85194e0135 Fix leak issues and some ordering in state(view) move operations. Closes #336. 2017-02-15 05:42:44 -05:00
ThePhD
fe8b1c1c10 Bug in not properly keeping the observed valid table on the stack. 2017-02-01 06:54:30 -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
c7deb82535 Improve performance by making wstring_convert objects static. Closes #326
Temporary warnings against alignment padding nonsense. Closes #325
Still need to test #324 and find out what's wrong with #327
2017-01-30 21:40:58 -05:00
RaptorFactor
c58d27e58d Work around clang-cl compilation issue. 2017-01-26 03:32:17 -08:00
ThePhD
66ad189797 add functionality to have functions properly detected and the amount shifted over properly based on being a call constructor or not 2017-01-09 23:25:28 -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
ThePhD
658a11a2be forgot return type: update single 2017-01-07 01:11:03 -05:00
ThePhD
38ba4415b0 update version and single 2017-01-07 00:46:16 -05:00
ThePhD
764b2ad7b2 thread and state awareness: update single 2017-01-07 00:42:18 -05:00
ThePhD
010b6bb101 allow for switch to change Lua configuration and build with assumptions to C++ handling 2017-01-02 09:36:04 -05:00
ThePhD
77a7bf12a0 update single 2016-12-26 14:02:32 -05:00
ThePhD
26b85c8136 Make sure resolve works and provide some protection against deleting the handler that originates from a specific sol::state. sol::state_view users will be left out in the dark, though. 2016-12-26 13:50:08 -05:00
ThePhD
3aa42c5db8 update single 2016-12-16 05:31:32 -05:00
ThePhD
428adf706f optional impl alignment requirements?? Thanks, Emscripten. 2016-12-16 01:00:49 -05:00
ThePhD
e1329d244a Fix alignment issues with optional implementation
Update single.py to look at toplevel file rather than listing out all base sources
string_shim didn't have the proper header
Improve gitignore
2016-12-16 00:31:45 -05:00
ThePhD
ad010adcad Goddamn unused parameters... 2016-12-10 05:56:10 -05:00
ThePhD
edeb81a7e1 Add registry constructors to tug things right out of the registry, and add a main_thread getter to aid in Joynet dev 2016-12-10 00:25:25 -05:00
ThePhD
c6110e5711 update single 2016-12-06 11:09:13 -05:00
ThePhD
7628c635bd Memory leak fix! 2016-12-05 12:03:15 -05:00
ThePhD
d0a36c9657 objc define to keep code clean on that platform 2016-12-03 07:33:18 -05:00
ThePhD
20b951d551 we choose nil serialization for bad stack pushes 2016-12-02 05:47:24 -05:00
ThePhD
7bef50d460 update single 2016-11-29 12:51:42 -05:00
ThePhD
a9a32d1b56 update single 2016-11-26 14:05:18 -05:00
ThePhD
433e34cd9b as_args and threading API cleanliness. 2016-11-26 13:58:06 -05:00
ThePhD
7b63057ba8 PRAISE BASED EEVEE 2016-11-26 03:32:28 -05:00
ThePhD
289ded358c -Wshadow and -Wconversion are kind've dumb 2016-11-25 20:47:15 -05:00
ThePhD
49a0f71272 library fixes 2016-11-23 02:55:25 -05:00
ThePhD
b40f895fd4 Fix double-delete crash that could also be affecting @IronsDu 2016-11-23 02:39:52 -05:00
ThePhD
320276dabf update single 2016-11-18 00:06:12 -05:00
ThePhD
57c933cc9b bitfield example and link in docs 2016-11-15 22:45:34 -05:00
ThePhD
54608201fc Stage single 2016-11-15 04:40:07 -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
98cf1a9e9a update single 2016-11-13 04:23:06 -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
ThePhD
f16a9f4ed5 update single 2016-11-09 07:46:08 -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
34fe8a1ace update single 2016-11-05 23:43:21 -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
8c8c7d1ee1 update single 2016-10-30 05:59:37 -04:00
ThePhD
0859af3203 Fix comparisons done of improper types 2016-10-30 04:40:17 -04:00
ThePhD
76cae575e8 update single 2016-10-29 15:13:25 -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
31fe82fc2d update single 2016-10-23 19:29:48 -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
8c3ae42137 update single 2016-10-21 07:06:43 -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
d315edefbf Update single. 2016-10-11 06:53:23 -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
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
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
471b5870e2 update single 2016-09-28 19:10:36 -04:00
ThePhD
d7b037da73 Sigh. Make sure that tuple expansion works in buggy VC++ compiler. 2016-09-26 04:02:03 -04:00
ThePhD
508d21c842 Why oh why... 2016-09-22 12:16:52 -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
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
132ff87fbc update single 2016-09-17 22:17:03 -04: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
22d5a70c25 [ci skip] upgrade single 2016-09-13 12:38:13 -04:00
ThePhD
5dface25fb fix problem with instantiations of abstract classes in optional reference 2016-09-10 20:59:12 -04:00
ThePhD
1bd86c4dd7 [ci skip] update single 2016-09-04 11:42:53 -04:00
ThePhD
431977a568 herpin' that derp 2016-09-01 09:02:50 -04:00
ThePhD
f2667827ca single header file, head forward 2016-09-01 08:50:48 -04:00
xujh
6791d6ebf2 change std::snprintf to snprintf for android compile 2016-09-01 12:02:41 +08:00
ThePhD
0d226e183f [ci skip] update single 2016-08-30 18:16:45 -04: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
0aca322f3f [ci skip] update single 2016-08-25 12:51:36 -04:00
ThePhD
0f8602dc37 [ci skip] proper single 2016-08-24 12:24:47 -04:00
ThePhD
16cd699208 [ci skip] relevant changes to docs 2016-08-24 12:22:51 -04:00
ThePhD
0c5d73b67a [ci skip] update info 2016-08-24 09:17:26 -04:00
ThePhD
1e62e3cde1 [ci skip] update single 2016-08-24 08:40:35 -04:00
ThePhD
ffe6e79f97 [ci skip] single update 2016-08-22 23:43:12 -04:00
ThePhD
2640f670b6 better tests, wee 2016-08-21 22:17:19 -04:00
ThePhD
060d450f68 [ci skip] update single 2016-08-21 19:25:20 -04:00
ThePhD
6243cbe103 push_reference should respect unique usertypes 2016-08-21 19:24:26 -04:00
ThePhD
5f036adf48 [ci skip] Update single 2016-08-19 21:43:58 -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
c8ea9f7638 [ci skip] update single 2016-08-17 16:02:29 -04:00
ThePhD
8e387a269b [ci skip] update single 2016-08-17 15:55:36 -04:00
Kevin Brightwell
60d56be14c Update single.py to always use '/' and with prev commit 2016-08-17 14:29:37 -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
4bcedd24cc [ci-skip] update single header 2016-08-12 16:10:49 -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
cd64453789 update single 2016-08-12 12:31:51 -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
ac6ff25061 Update single 2016-08-11 11:38:47 -04:00
ThePhD
b3594c0ed7 Update single and release 2016-08-11 09:35:00 -04:00
ThePhD
4cde2b6a3b making questionable decisions since 1892 2016-08-11 07:25:57 -04:00
ThePhD
0f1f7859f1 single update 2016-08-07 20:57:38 -04:00
ThePhD
04eb19603c Update single hader 2016-08-07 14:05:02 -04:00
ThePhD
89e0b62f2d const-ness fucking me in the ass again 2016-08-01 04:04:44 -04:00
ThePhD
2b0912b007 single file update 2016-07-29 01:12:28 -04:00
ThePhD
c37a184c09 rdy2roll 2016-07-15 10:16:19 -04:00
ThePhD
c03073e059 [ci-skip] O boi 2016-07-15 07:56:28 -04:00
ThePhD
87eb901b01 Fix #139 2016-07-12 20:55:26 -04:00
ThePhD
045d96e11a Update single sol.hpp 2016-07-11 13:03:38 -04:00
ThePhD
5740566ecf [ci skip] Neat. 2016-07-09 15:25:10 -04:00
ThePhD
5d89799d7e More fixes, oooh boy... 2016-07-09 14:21:23 -04:00
ThePhD
975788c920 Make sure unicode is cleaned and put all of the right things in place here 2016-07-09 13:40:15 -04:00
ThePhD
14ced4af69 Add more tests and fix smaller errors with overloading and such. 2016-07-09 01:12:33 -04:00
ThePhD
2b69a03c46 Renew single inside of repository 2016-07-07 20:11:18 -04:00
ThePhD
09ee4db1ed More templated fixes.
Closes #131
Closes #126, for the time being -- we can't make it go any faster without fundamentally breaking the system, and I can't do that to users rn
2016-06-29 14:08:26 -04:00
ThePhD
833be87011 More reductions... 2016-06-27 12:47:56 -04:00
ThePhD
4a0bfe1960 Update develop single header 2016-06-27 12:25:40 -04:00
ThePhD
374acaa7f5 Attempt #1 at reducing compiler overhead for large numbers of template instantiations. 2016-06-27 12:15:32 -04:00
ThePhD
02cd92e01a Keep a single version of the header stored in the repository. 2016-06-22 13:40:08 -04:00