Rapptz
c9bf032d36
Fix all compile errors on GCC
2014-04-25 20:53:36 -04:00
Rapptz
6b54f99e50
Do some renaming of lua_function.hpp and fix some compiler errors
2014-04-25 20:42:38 -04:00
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
Rapptz
44eab5a164
Refactor demangle.hpp to look a bit nicer
2014-04-25 20:19:31 -04:00
Rapptz
23ed27df89
Renamed DEPRECATE to SOL_DEPRECATED
2014-04-25 20:11:00 -04:00
ThePhD
2243bec052
userdata<T> now works and compiles on MSVC.
...
It's going to take serious work to make it happen in GCC, plus the fact that 4.9 is still giving me
so many errors I can't even read it...
I'll let Rapptz figure it out, but later.
Sexy class bindings, yes!
2014-04-25 20:08:07 -04:00
ThePhD
359848f371
Demangler is alive, it seems. But honestly, MSVC is kind of crappy about it: perhaps, later, we'll just take a string indicating the name of the class.
...
main.cpp contains the test implementation for the lua classes -- woo!
2014-04-25 20:08:07 -04:00
ThePhD
c145759da8
Deprecation mechanism, improvements to lua_function's classes, and demangling for MSVC and gcc/clang
2014-04-25 20:08:07 -04:00
ThePhD
9328271d06
Renames for lua_function's internal types and some early-caught fixes for using the right type for the member of the function
...
Preparation for dumping whole classes into lua... it's going to be fairly tough making this one work.
2014-04-25 20:08:07 -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