ThePhD
c0b565fa3d
Renamed many parts of lua_function.hpp
to make more sense.
...
Added pop() function to `reference`
`stack.hpp` now has many more functions to properly handle user data
`types.hpp` now has `userdata_t` and `lightuserdata_t` to faciliate `stack`'s `pop` and `push` operations
Class binding functionality built into `table` and `state`, as well as placed in `userdata` class in `userdata.hpp`
demangling detail now present for clang, gcc, and MSVC (somewhat for MSVC)
Constructor arity still needs to be handled for `userdata<T>`
tests updated and passing
2014-04-25 20:20:35 -04:00
ThePhD
63a4dafce5
Better names for the functors in preparation for working with whole classes of them. This is going to be tough...
2014-04-24 16:46:31 -04:00
ThePhD
b1504ad1b3
Missing inline on several functions; causes compilations when sol
is included in multiple Translation Units.
...
`function.hpp` needed cstdint to be defined to use unit32_t properly.
2014-04-24 16:46:11 -04:00
Rapptz
faa14f3d35
Merge branch 'master' of https://github.com/Rapptz/sol
2014-01-26 17:06:05 -05:00
Rapptz
44bbdcc4c3
Add lua_state function to retrieve the lua_State pointer
2014-01-26 00:25:46 -05:00
Rapptz
02f8248d0f
Fix compiler error from using sol::sol_error in get_nil
2014-01-22 12:51:09 -05:00
Rapptz
2782fed879
Fix typo in tests
2014-01-18 23:10:49 -05:00
Rapptz
4c46df454b
Update README
2014-01-18 23:07:55 -05:00
Rapptz
5ff185f53b
Add more examples
2014-01-18 22:59:59 -05:00
Danny
68fc9bf35e
Merge pull request #11 from ThePhD/master
...
operator[] support, the right way
2013-12-25 16:54:35 -08:00
ThePhD
750d110a92
Fixing formatting to make sure everything's nice and pretty.
2013-12-21 22:11:20 -05:00
ThePhD
3d44c6500e
And a last fix for the test we had to block while fixing implicit conversions, and we're good!
2013-12-21 22:05:19 -05:00
ThePhD
94c287810f
It took a lott of work, but we finally have the right rankings for operator[] to work as intended with as minimal room for screwups as possible.
...
This should enable operator[] to work in all cases that it is to be expected, thanks to a lot of explicit conversions and some basic overload resolution ranking tricks (e.g., making some conversions a template).
We also need to remember that GCC expects `. template (function name)` in generic code, as it can parse things in a really dumb and silly manner.
2013-12-21 22:00:28 -05:00
ThePhD
cfda1d34ba
Trying to guess what GCC wants in this case is baffling...
2013-12-21 19:51:48 -05:00
ThePhD
4f279c5033
Strangely enough, GCC can't handle having T_
as a typdef.
2013-12-21 19:44:31 -05:00
ThePhD
7ca6ce8d55
Forgot a dot.
2013-12-21 19:42:50 -05:00
ThePhD
ef223ecaeb
I wish C++ didn't demand that functions have to appear before each other in lexographic order. =/
2013-12-21 19:39:51 -05:00
ThePhD
b90f789986
operator[] support~
...
And all is as it should be in the world~
2013-12-21 19:30:30 -05:00
ThePhD
a6120631d8
Merge branch 'master' of github.com:Rapptz/sol
...
Conflicts:
tests.cpp
2013-12-18 10:31:57 -05:00
Rapptz
afe435910f
Add basic examples directory
2013-12-16 11:17:33 -05:00
ThePhD
8ae6297659
Merge remote-tracking branch 'root/master'
2013-12-16 11:08:05 -05:00
ThePhD
4d629e6c73
Have to use cast to solve ambiguity... =/
2013-12-16 11:07:21 -05:00
Rapptz
ac975872ad
Remove support for operator[] on tables
2013-12-16 11:07:10 -05:00
Danny
5b505dcaad
Merge pull request #10 from ThePhD/master
...
Multi-gets and GCC/VC++ Compatiability again
2013-12-16 05:50:46 -08:00
ThePhD
cb492e7c29
Squashing those GCC warnings.
2013-12-15 22:14:56 -05:00
ThePhD
f8cfb80a45
Fixed a bug with the return order and added tests to make sure it works.
...
Added the ability to get mutiple values when doing `table.get` or `state.get`.
Lua is hard. :c
2013-12-15 22:09:06 -05:00
ThePhD
e0bcf5a11e
Ordering things more nicely for GCC and fixing calls to always used extra types
parameters when they can for early-out decltype deduction, rather than recursive template reliance (compiles better for VC++ and resolves earlier for g++).
2013-12-15 17:09:23 -05:00
ThePhD
c8417d65de
decltype
with types
. It seems unfair.
2013-12-15 16:56:01 -05:00
ThePhD
63536dd8d0
Why not cheat with an extra types
? Who needs type deduction when you can just pass the right types directly?
2013-12-15 16:52:01 -05:00
ThePhD
b9b32baf1a
declval is in the std namespace, derp.
2013-12-15 16:46:57 -05:00
ThePhD
94405d0346
Fixing lua function, attempting another fix for rtl_pop
2013-12-15 16:45:40 -05:00
ThePhD
8ef3ceb8a0
New test cases for the order of returns. Apparently, its screwing up between both lua and C++. Have to test thoroughly. Changes currently are half-working.
2013-12-15 16:27:20 -05:00
Danny
0e31358d97
Merge pull request #9 from ThePhD/master
...
More VC++ compatibility, some features, and some warning supression for GCC.
2013-12-14 21:01:07 -08:00
ThePhD
6101865c1e
GCC warnings can go suck a duck.
2013-12-14 23:31:23 -05:00
ThePhD
ed0b83f8b0
Several changes. I took away operator() for the proxy type, because it'd interfere with the Callable
type and all. Alas, good things do die I suppose. =[
...
But! I left it on the `sol::function` type, because it's necessary to discard returns. The .call is still there, though, just incase you need it. <3
reverse_indices_builder is also there, to make sure we can push and pop without the lua api taking our types and breaking them for the std::tuple returns.
All is at it should be~
2013-12-14 23:25:44 -05:00
ThePhD
913611c042
Forgot to make sure this test was running!
2013-12-14 22:21:06 -05:00
ThePhD
4f197dbb91
operator!= for nil_t
2013-12-14 20:16:28 -05:00
ThePhD
b655c07258
Merge remote-tracking branch 'root/master'
2013-12-14 20:07:35 -05:00
Rapptz
7ffebf476a
Add contributing guidelines
2013-12-14 05:26:43 -05:00
Rapptz
5341682503
Change tabs to spaces
2013-12-14 04:42:53 -05:00
ThePhD
84f367ca23
Somehow, run_script got deelted on this file. Strange.
2013-12-14 00:32:45 -05:00
Rapptz
f061e0040d
Add operator== and operator!= support for sol::object and nil
2013-12-14 00:28:14 -05:00
ThePhD
0079593966
Strangely enough, it's impossible for the API to know if the returned value is wrong, so this test will always fail (unless we do some crazy nonsense).
2013-12-14 00:19:02 -05:00
ThePhD
20ff49cd66
Merge remote-tracking branch 'root/master'
...
* root/master:
Cast result of floating point retrieval before receiving it
Fix bug with sol::object not being copyable
2013-12-14 00:15:25 -05:00
ThePhD
25f42b4bd3
A hefty slice of changes for functions on the proxy. Not necessary, but was fun to get around MSVC's ICE errors.
2013-12-14 00:15:14 -05:00
Rapptz
a6306d7012
Cast result of floating point retrieval before receiving it
2013-12-14 00:07:41 -05:00
Rapptz
c59fc9e536
Fix bug with sol::object not being copyable
2013-12-14 00:05:14 -05:00
Danny
bec0406ce6
Merge pull request #8 from ThePhD/master
...
Makes everything build with VC++ and also adds a void overload for `sol::function`.
2013-12-13 20:54:55 -08:00
ThePhD
6c06bddd6e
Some extra-strength "nothrow" requirements.
2013-12-13 23:33:06 -05:00
ThePhD
49ad128493
If you want to have return types, use .call
instead of operator()
.
2013-12-13 23:30:16 -05:00