Commit Graph

166 Commits

Author SHA1 Message Date
Rapptz
932e29a841 Renamed sol_error to error 2014-05-21 22:24:15 -04:00
Danny
559a77564e Merge pull request #20 from ThePhD/master
Fixing some basic bugs MSVC didn't catch
2014-05-09 20:00:18 -04:00
ThePhD
f17d30592c Fixing some basic bugs MSVC didn't catch 2014-05-09 19:32:31 -04:00
Danny
f842de2d06 Merge pull request #19 from ThePhD/master
Getting userdata out of lua into C++ (after coming from C++ originally)
2014-05-09 18:49:12 -04:00
ThePhD
ff7326ed96 We now have the ability to get a userdata that has been created C++ style out of lua
Using `auto` and `decltype` in more places that MSVC can handle it -- using type traits in other places to avoid VC++'s chokes
More flexibility, woo!
2014-05-09 10:48:55 -04:00
ThePhD
d7ea4718c8 multi_return<> name to return_type<> .
Makes more sense, as the return does not always have to be multiple types.
(Indeed, it is specialized for 1 and 0 cases).
2014-05-08 13:08:21 -04:00
ThePhD
be839bdcd2 We no longer need the register_into(const table& s) function: removing~ 2014-04-27 09:13:45 -04:00
Rapptz
06bda13c86 Add examples for userdata 2014-04-27 05:36:57 -04:00
Rapptz
cd092d3bfb Add new_userdata to create internally memory managed userdata from sol::state 2014-04-27 05:09:28 -04:00
Rapptz
0ff295f61e Switch from static member strings to userdata_traits 2014-04-27 05:08:39 -04:00
Rapptz
a2c26a042c Rename set_class to set_userdata 2014-04-27 04:11:30 -04:00
Rapptz
6a280dc131 Format changes 2014-04-27 03:25:47 -04:00
Rapptz
2f76b96061 Switch member function pointer and string pair in initialisation 2014-04-27 02:35:11 -04:00
Rapptz
b323a62b2a Fix compiler error with cv-qualifiers on member function pointers 2014-04-27 02:26:06 -04:00
Rapptz
8cd3b18f7b Fix test failure 2014-04-27 01:29:37 -04:00
Rapptz
b6c2f1c6d5 Fix formatting on tests file 2014-04-27 01:18:54 -04:00
Rapptz
63bc2b06cb Fix compiler errors, tests failing however 2014-04-27 00:53:57 -04:00
ThePhD
a525760178 Fixed some bad spacing. 2014-04-26 21:38:37 -04:00
ThePhD
0088002abf Class binding now works with multiple functions
Refactoring on function_types.hpp performed to slim down some of the calls: could use more refactoring
Drastically simplified userdata's binding capabilities: constructor supports both `:` and `.` syntax (but member functions DO NOT).
All tests are passing
2014-04-26 18:24:54 -04:00
ThePhD
4d6d39be88 Merge remote-tracking branch 'root/classes' 2014-04-26 00:19:45 -04:00
ThePhD
4c102605e8 Custom constructors, but apparently there's something on the stack and we can't get at its type? 2014-04-26 00:19:36 -04:00
Rapptz
077f5fd258 Massive renaming of lua_function.hpp 2014-04-25 22:05:58 -04:00
Rapptz
5229cace49 Moved pop from reference to table 2014-04-25 21:40:52 -04:00
Rapptz
d65f6f1291 Format changes on tests 2014-04-25 21:23:57 -04:00
ThePhD
bf19dd9084 Merge remote-tracking branch 'root/classes'
Conflicts:
	sol/demangle.hpp
	sol/deprecate.hpp
	sol/lua_function.hpp
	sol/userdata.hpp
2014-04-25 20:58:55 -04:00
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