Commit Graph

30 Commits

Author SHA1 Message Date
ThePhD
683943dd02 [ci skip] ignore pdf files 2016-08-22 14:37:01 -04:00
Kevin Brightwell
366937830c Fix #180 2016-08-17 14:29:21 -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
58fc314e6f Fiiixes! Thanks to @CatPlusPlus and @melak47 for helping me fix this one.
Closes #112 .
2016-06-09 15:49:53 -04:00
ThePhD
706ca803c8 push_reference and specific notes in the documentation for it 2016-05-01 17:10:41 -04:00
ThePhD
d3ccfa7426 Primetime 2016-03-13 10:03:05 -04:00
ThePhD
9dd6c2b095 Update ignore 2016-03-11 17:47:56 -05:00
ThePhD
b24d17df31 Allow for exceptions to not be used. 2016-03-02 08:44:07 -05:00
ThePhD
dd522b16b0 Merge/ fixed up gitignore 2016-02-25 13:44:06 -05:00
Kevin Brightwell
a76d38571d Add usage of LUA_VERSION variable when using --ci
* Adjust finding Lua for Linux and OSX
* Readd `install.deps.sh`
2016-02-25 13:31:00 -05:00
ThePhD
9372b54b02 Preparing for overload support
Preparing to benchmarking of several different lua frameworks
2016-02-09 03:38:11 -05:00
ThePhD
1d93f560f2 more luajit compatibility fixes - works with Lua 5.1, 5.2, 5.3
additional tests to make sure pass-by-value and copy semantics work as intended
new proxy_base class to reduce code duplication
update function / protected_function usage (to solve starwing's issue while keeping code as clean as possible)
2016-02-01 03:27:06 -05:00
ThePhD
a69c599f99 Ensure proper semantics for default error handler 2015-11-02 08:10:29 -05:00
ThePhD
895030c69e Remove whorish return_forward. 2015-09-07 10:43:39 -04:00
ThePhD
219d10b0b4 Thanks to LUA_MULTRET, we can have normal function call syntax with sol::function that doesn't require the user to pass the arguments in directly with .call<Return1, Return2, Return3>( ... )
function result is meant to be transient, and therefore should not be regularly storeable by the user... but there is no way to make a "and you can't have anything but a temporary to this" type, as far as I can tell.
2015-07-19 10:26:11 -04:00
ThePhD
184f16d7fa Updated copyright headers and added compatibility with lua 5.1.5 and luajit!
This means sol can now run on the fastest dynamic language implementation ever!
Wooo!~
2015-05-24 21:29:21 -04:00
ThePhD
bd4492b85b This mega-commit introduces Visual Studio 2015 CTP 6 support.
sol::object had a few reference leaks in the way it retrieved values: it now does it properly without leaving the stack at +1 item
sol::stack was drastically cleaned up, with the following key change:
    * sol::stack::push now returns an integer of the number of things its pushed (usually 1, but can be more) (Thanks, @PrincessNyanara!)
    * sol::stack::call now calls functions flexibly, and getting is done more reliably
    * due to the innovation of stack::call and using absolute indices, we no longer have to use reverse_call style programming to deal with lua
    * sol::reference::get_type is now const-correct
    * sol::state and sol::table now have a cleaned up `get` implementation since it is no longer held back by the ugliness of VC++'s incapability to handle templates
    * the name `sol::userdata` now belongs to a type that actually encapsualtes a void* with a pusher/getter than gets a userdata void* value (TODO: give it a template to make it static_cast to that type on get?)
    * lightuserdata_t -> light_userdata, upvalue_t -> upvalue as type names (mostly details)
    * pushers for various types were updated to return integers
2015-03-01 21:14:42 -05:00
ThePhD
d96283ac53 Additional ignores 2014-12-17 16:12:51 -05:00
ThePhD
db05dc8436 Additions to gitignore. 2014-08-09 04:55:35 -07:00
ThePhD
d35de4a8fa Fix for Issue #35
Userdata now properly forwards arguments to constructor
get_call now properly has extra parameters to allow for forwarding items from the first call that are not popped
Added tests to cover new cases
2014-06-27 01:25:57 -07:00
Rapptz
047d9de0f8 Switched over to bootstrap.py script 2014-06-05 18:37:46 -04:00
ThePhD
41e1ca2baa Additions for gitignore for the new files that are necessary to kick around qtCreator
Fix for userdata to accept base classes where the derived class uses the name of a base member function to access it (Derived::get_num, where get_num is only implemented in Base::get_num)
VC++ makes this acceptance easy by taking the name as "Derived", but GCC and Clang
2014-05-25 13:46:23 -04:00
Rapptz
0ff295f61e Switch from static member strings to userdata_traits 2014-04-27 05:08:39 -04:00
ThePhD
bcf4b9b08f Have I mentioned I hate GCC? I hate GCC. 2013-12-11 11:56:34 -05:00
ThePhD
350f430d74 Improved tests, added a build.ninja for TeamCity, and fixed formatting again to work with Rapptz's style. 2013-12-11 11:18:13 -05:00
ThePhD
a5d14580b1 Adding sol.scratch.cpp, and will also add CATCH for tests. 2013-12-11 06:34:18 -05:00
ThePhD
6d6dd3db5c Adding mingw libraries (liblua.a) to gitignore 2013-12-07 21:17:07 -05:00
ThePhD
cea7e9be64 Updated gitignore for test files 2013-12-01 19:00:01 -05:00
ThePhD
24c76d3e03 Added VS2013 files to gitignore. 2013-12-01 17:27:17 -05:00
Rapptz
f775790c2d Initial commit 2013-11-25 04:56:27 -05:00