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
OrfeasZ
51b583c88a
Small typo.
2016-08-06 17:10:54 +03:00
OrfeasZ
373251c9e1
Better handling so we have 100% coverage of switch options.
2016-08-06 16:54:08 +03:00
OrfeasZ
7d6276448b
Adding open_libraries(...) support for the Lua 5.3 utf8 library.
2016-08-06 16:48:51 +03:00
ThePhD
89250697aa
Documents nullptr ( Closes #159 )
...
Documents callable structures and the function to use with `table.set` if needed (Closes #162 )
2016-08-06 00:30:35 -04:00
ThePhD
89e0b62f2d
const-ness fucking me in the ass again
2016-08-01 04:04:44 -04:00
ThePhD
045d9371df
customization points are now live
2016-07-29 00:57:47 -04:00
ThePhD
be946d415c
Merge remote-tracking branch 'origin/develop' into develop
2016-07-28 13:33:36 -04:00
ThePhD
de359acb3e
Let's do iiiit.
2016-07-28 13:33:08 -04:00
FYP
62b21b1cec
fix std::nullptr_t getter and pusher
...
according to
http://sol2.readthedocs.io/en/latest/tutorial/ownership.html it should
be that way
2016-07-26 00:31:31 +03:00
ThePhD
f1965a4364
const qq
2016-07-15 10:13:38 -04:00
ThePhD
85daffaa00
Havin' lots of derps these days. Fix #141
2016-07-15 07:33:54 -04:00
ThePhD
87eb901b01
Fix #139
2016-07-12 20:55:26 -04:00
ThePhD
6b85ed2936
At least I have users who can help me catch my dumbness. One day, I'll find someone who wants to work on something and isn't somehow insufferable.
2016-07-11 12:41:17 -04:00
ThePhD
ac5f13ce2f
Now protect should work in multiple places, albeit we still need to do some optimizations to kick it in
...
Address #137 and improve implementation to not have to pop arguments
2016-07-09 13:38:55 -04:00
ThePhD
febfdbadb7
protect could use some additional optimizations for space, but I'm kinna tired.
2016-07-09 03:43:51 -04:00
ThePhD
14ced4af69
Add more tests and fix smaller errors with overloading and such.
2016-07-09 01:12:33 -04:00
ThePhD
f7108d5e37
Usertype documentation
2016-07-07 18:11:03 -04:00
ThePhD
dbaa8f58f0
Bogus clang errors make me sad.
2016-07-07 17:11:43 -04:00
ThePhD
47f29db964
qq so close to perfect
2016-07-07 17:02:11 -04:00
ThePhD
27174aba9c
This mega-commit produces simple_usertype
to allow for faster compile times by avoiding the use of __index
internally. It sacrifices some speed and some storage optimizations and also does not allow variable syntax, but the produced table is directly modifiable.
...
Adds a `protect()` function to trigger safety for an item.
This commit also optimizes away all instances of virtual function calls for function calls and storage. Will need to test speed to see how it works out.
Closes #133
Closes #134
Closes #135
Closes #136
2016-07-07 16:52:39 -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
bd62d99fbc
One day, I won't run into compiler differences and lame pedanticisms for C++.
...
Addresses #126
2016-06-27 12:24:14 -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
97c132d91d
Preserve internal type of member function calls / pointers, even if they're base types linked to derived types
2016-06-22 13:26:27 -04:00
ThePhD
0fef6556e4
Closes #125
...
Adds documentation for the new feature
Removes usages of "sol::bond" in documentation, because that was supposed to be "sol::tie"
I really don't want to spend time trying to figure out how to slim down these templates...
2016-06-22 11:33:07 -04:00
ThePhD
83ba698aba
More documentation, fix for signed/unsigned conversion issues.
2016-06-22 01:20:38 -04:00
ThePhD
d0ca1d8317
Maximum the features.
2016-06-20 09:51:26 -04:00
ThePhD
0faacb5d2c
Slight refactoring of implementation. Also, stray #endif due to not being recognized by include guard regex -- the formula must be kept...!
...
(TODO: transition sol2 to include guards...?)
2016-06-20 07:03:44 -04:00
Lau Ching Jun
b6ba214f43
Use nullptr when converting to std::function if value is nil
2016-06-20 11:53:51 +08:00
ThePhD
63b9f748f7
Nice segmentation fault, GCC
2016-06-19 19:13:01 -04:00
ThePhD
2706f19976
Having a using statement that references the deprecation mechanism triggers... deprecation.
...
Thanks, clan/g++
2016-06-19 19:06:35 -04:00
ThePhD
b6928b4b4e
Herpin' that derp.
...
SOL_NO_COMPAT is now in the proper place and documented in the compatibility part of the API.
Basic test for `table::add`
2016-06-19 19:02:40 -04:00
ThePhD
556be8da98
Documentation updates -- require function and add function and size function needed documentation
...
New `add` function as requested by @EliasD
2016-06-19 17:59:40 -04:00
ThePhD
d626eb0461
Well, that was a nasty hidden bug. But it's all clean now!
2016-06-18 04:10:47 -04:00
ThePhD
48ba47b059
The long road to correctness.
2016-06-18 03:56:44 -04:00
ThePhD
f45ecdcff4
Always unqualify / decay arguments
2016-06-18 03:45:03 -04:00
ThePhD
02428921af
SIGH name shadowing
2016-06-18 03:36:26 -04:00
ThePhD
29e4b82b4a
Formally introduce c_call
to the API with overloading ability
...
More documentation on how things work.
Once more at a 'feature-complete' state. Continue to work on #116 .
Add testcase to ensure #108 is fixed. Then, prep release.
2016-06-18 03:32:54 -04:00
ThePhD
cf5919b705
Proper workings for multiple inheritance work.
2016-06-16 20:15:56 -04:00
ThePhD
ba2dd387eb
Herp the derp.
...
Really fixes #119
2016-06-15 12:18:30 -04:00
ThePhD
3bece97a40
Statikk trampolines and new tests for the newly opened issue
...
Closes #119
2016-06-15 12:00:25 -04:00
ThePhD
d76b7ebe09
Things're gonna get silly...
2016-06-13 22:31:19 -04:00
ThePhD
9352473d59
Oopsies with index / new_index. Should fix @billw2012 's problem from #71
2016-06-12 05:21:45 -04:00
ThePhD
69b45e4d66
Fixed documentation SNAFUs and typos. Praying for stack_get speed...
2016-06-11 13:10:38 -04:00
ThePhD
412718badb
Test speed thought...
2016-06-11 11:51:56 -04:00
ThePhD
8eb10388c1
directly insert lua_cfunctions
2016-06-10 23:05:25 -04:00
ThePhD
72fcc1e6a5
nil checks. Nil checks as far as the eye can see.
2016-06-10 21:14:43 -04:00
ThePhD
e1241c110a
SPEED AND FIXES, HOOOOOOOOO!
2016-06-10 21:04:48 -04:00
ThePhD
295b7b1a08
The performance went to shit and I need all the perf tools I can get to find out why.
2016-06-09 21:14:12 -04:00
ThePhD
58fc314e6f
Fiiixes! Thanks to @CatPlusPlus and @melak47 for helping me fix this one.
...
Closes #112 .
2016-06-09 15:49:53 -04:00
ThePhD
b762de5c76
Ensure call works properly
2016-06-08 11:55:05 -04:00
ThePhD
606f8275a0
A small oopsie.
2016-06-08 11:29:30 -04:00
ThePhD
89bf8d5cbb
Making sure everything is fixed on all compilers + g++ too now
2016-06-08 11:23:17 -04:00
ThePhD
220ff5a475
Fixes the key value being left on the stack when using iterators (the other case that's not "and we're not actually using this for iteration", asides from the empty table case).
...
Closes #111 - fixed
Closes #110 - need to test exactly how much extra speed was gained
Closes #108 - seems to be fixed, albeit std::mutex is a butt on VC++
2016-06-07 20:32:10 -04:00
ThePhD
53bed40bc5
Merge remote-tracking branch 'feature/boost-optional/boost-optional' into develop
2016-06-06 15:48:32 -04:00
ThePhD
c458849d29
Many of the tests are still busted, but we're getting closer.
...
Closes #96
Closes #79
Fixes #105 - but we still need to double-check and add a test to prove it
2016-06-06 15:46:53 -04:00
ThePhD
e35fe6be85
This mega-commit implements the new usertype_metatable
while keeping everything else still intact. Blurgh, managing API versions suck...
2016-06-03 21:40:23 -04:00
Georg Sauthoff
250661b780
Use Boost Optional if SOL_USE_BOOST is defined
...
Usecase: Project already uses Boost as dependency, your compiler doesn't
come with <optional> yet and you want to minimize further dependencies.
2016-05-28 20:19:31 +02:00
ThePhD
9b65fb9f93
gotta have it on both sides yo
2016-05-20 05:39:34 -04:00
ThePhD
f70edf5686
Q_Q
2016-05-20 05:33:29 -04:00
ThePhD
8fa48627c6
awhdwjakdahwd clang++ internal linkage qqqqqqq
2016-05-20 05:25:56 -04:00
ThePhD
35d4eb3989
S I G H KEPLERPROJECT
2016-05-20 04:56:35 -04:00
ThePhD
7be09d0781
Who would have thought Lua's API between versions would be so... inconsistent.
2016-05-20 04:20:22 -04:00
ThePhD
e244a2bb67
SIGH g++
2016-05-19 17:31:57 -04:00
ThePhD
9f019ae536
Adds requires feature - Closes #90
...
Function name for getting the status was actually changed to status in all places... being consistent, yay
2016-05-19 17:27:12 -04:00
ThePhD
54551af736
tempfile soemhow got here...
2016-05-19 02:18:01 -04:00
ThePhD
3b81a7c85f
VC++ is a butt, but this Closes #91
...
It prepares for #97 as well, and blocks out #95 until I can be assed
Now, it's either performance or handling sol::property ...
2016-05-19 02:15:42 -04:00
ThePhD
96f231a183
We do have a cheap char type now, but figuring out that codecvt is super busted makes me sad
...
Safety macros are now in place. Usertype ones turned on by default
Closes #93
Closes #94
2016-05-18 21:29:17 -04:00
ThePhD
f8873064a5
And glibc is a fuccboi too.
2016-05-13 13:50:15 -04:00
ThePhD
938538b491
VC++ is a fuccboi
2016-05-13 13:42:31 -04:00
ThePhD
44cd259960
base_t templated
2016-05-13 03:13:23 -04:00
ThePhD
033c61ff1a
Constructors for many of the types updated. sol::object
now makes many more styles of types. Tests updated to match. Update documentation as per #87 . Close #88 . Close #86
2016-05-13 02:48:22 -04:00
ThePhD
a4e3caee15
TOPKEK initializers.
2016-05-11 22:09:17 -04:00
ThePhD
f1cedcb922
error on bad usertypes
2016-05-11 15:55:07 -04:00
ThePhD
45956d1637
the lua API is a nightmare
2016-05-05 16:59:17 -04:00
ThePhD
2cfce0d8ce
I can spell the goodest, I swear
2016-05-05 16:40:14 -04:00
ThePhD
9f189df874
Undocumented macro for turning of compat (for the time being)
...
adding of luaL_loadbufferx as part of the 5.1 compat layer
2016-05-05 16:36:15 -04:00
ThePhD
309947d704
flesh out load buffer a little bit
2016-05-05 16:14:13 -04:00
MisterKH
c44f577d19
add load_buffer function
2016-05-05 15:12:25 +02:00
ThePhD
1c61773354
Use absolute indices in the places where it's necessary.
2016-05-03 16:49:53 -04:00
ThePhD
2aa5ab77a8
Ordering issues make me sad.
2016-05-03 15:17:14 -04:00
ThePhD
9e31119f16
This commit adds some QoI constructor keys / types, as well as implements make_object
. The documentation has been updated as well.
...
Closes #78
Closes #77
Closes #76
Closes #75
2016-05-03 14:19:30 -04:00