ThePhD
b1f7d81acb
immunize as_table from std::reference_wrapper and pointer types.
2017-08-07 15:10:05 -04:00
ThePhD
c4b13b2b73
modify table push operations
2017-08-07 14:54:17 -04:00
ThePhD
c8728af5b5
throwing is unreliable... sigh
2017-08-07 14:22:56 -04:00
ThePhD
6eaa277860
bootstrap update to link pthreads, on top of container_traits improvement because of clang++ bounds-checking
2017-08-07 13:58:06 -04:00
ThePhD
092fec7afb
improve traits
2017-08-07 08:47:17 -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
50040dec36
update single, prepare for tests
2017-08-05 19:35:16 -04:00
ThePhD
16fc7d87ff
update single
2017-07-09 19:05:32 -04:00
ThePhD
48fc90bacb
update single
2017-07-09 14:03:37 -04:00
ThePhD
504f49f3c7
update state to use default handler
2017-07-04 04:41:32 -04:00
ThePhD
aea873a485
update single
2017-07-01 11:04:16 -04:00
ThePhD
1a6937e24e
Revert previous change of not pushing nil
when we encounter a nullptr
from special usertypes. If people want to check, they'll need to use optional or a raw pointer: messing with the raw usertype can also lead to some surprising problems, so we don't need to specialize for that use case.
2017-06-30 18:18:25 -04:00
ThePhD
af2136ba00
Closes #431
...
If only I had a test that took a unique_ptr as a second argument. RIP.
2017-06-26 10:10:47 -04:00
ThePhD
13370e7e42
more constructors PogChamp
2017-06-24 10:20:07 -04:00
ThePhD
17271c84cb
BREAKING CHANGE: std::pair
for regular containers that are not marked as as_table_t
or as_nested
will now behave like regular containers and not force themselves to be key-value pairs. table-style serialization is still unaffected.
2017-06-23 18:07:24 -04:00
ThePhD
6b34a15d68
it would help if I was not blind
2017-06-19 23:06:57 -04:00
ThePhD
5468ab8b4e
Let's hope we didn't break shit...
2017-06-19 23:04:23 -04:00
ThePhD
5363a63de0
g++ sometimes chokes on parsing certain combinations of characters because of disambiguation rules
2017-06-17 00:52:02 -04:00
ThePhD
b811e73b90
who knew noexcept proofing would be so hard...? And there's so many places it could be activated in...!
2017-06-17 00:43:26 -04:00
ThePhD
11916a7c72
add noexcept function type barriers and guards
...
noexcept-proof function call trampolines
add noexcept tests to ensure its being checked
TODO: check g++ 7.1 builds when using -std=c++17 ...
2017-06-16 18:43:40 -04:00
ThePhD
4f959c9a41
update single
2017-06-15 01:24:53 -04:00
ThePhD
85620df63c
new checker for unique_usertype to ensure type safety, when SOL_CHECK_ARGUMENTS or a protected tag is used to protect a function
2017-06-13 16:34:18 -04:00
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