Commit Graph

344 Commits

Author SHA1 Message Date
ThePhD
6c40c559e3 prepare for new usertype
change how type T is gleaned from destructors and constructors in case of new syntax
add a hell of a lot more examples, update and clean documentation
2018-03-15 17:16:28 -04:00
ThePhD
a83091cba4 implement visible c:pairs() and c:at() functions for the user
adjust metatable types
add example with a std::pair-containing container
2018-03-10 20:45:01 -05:00
ThePhD
c8bfcd2dc2 update stack docs
fix examples
do not throw std::exception directly: always use std::runtime_error, as it is the only one with a proper exception hole
2018-03-09 23:32:03 -05:00
ThePhD
623a38e80e add exception trampoline support to sol2 and add an example on how to use it 2018-03-09 22:27:49 -05:00
ThePhD
68738cdc83 improve docs
refactor default state additions to let user do the same thing with less effort
prepare for sol::upvalues tinkering
2018-03-05 22:54:31 -05:00
ThePhD
2f220b6eb2 update single 2018-03-04 10:57:28 -05:00
ThePhD
b46b106114 update docs and examples 2018-02-28 01:56:11 -05:00
ThePhD
14378e7126 properly specify transcoding behavior 2018-02-24 18:50:23 -05:00
ThePhD
22c41d9482 Update documentation, refactor examples out of docs, fix warning about static entry path
Still need help refactoring out more code from docs...
2018-02-24 17:19:16 -05:00
ThePhD
24d335085c [ci skip] update docs
Fixes #597
2018-02-22 14:54:18 -05:00
ThePhD
8d62fbaf5d add handle for potentially overloaded size() definitions (pray it works with noexcept anyhow). 2018-02-22 12:26:46 -05:00
ThePhD
b78d900d05 One day, everything will build proper.
One day.
2018-02-17 11:00:27 -05:00
reworks
e7c43ce242 Docs note that MSVC Compilers may require /bigobj (#591)
* Note that MSVC Compilers may require /bigobj

So when making heavy use of headers or templates, MSVC will error with ["Fatal Error C1128"](https://msdn.microsoft.com/en-us/library/8578y171.aspx). The solution is to use the [/bigobj](https://msdn.microsoft.com/en-us/library/ms173499.aspx) flag. This does, however, mean that, as per msvc docs, "Linkers that shipped prior to Visual C++ 2005 cannot read .obj files that were produced with /bigobj".

* Update usertype.rst
2018-02-17 10:10:07 -05:00
ThePhD
2e648638ef Fixes #580
Adds some code for #579 to warn of bad errors
Update documentation and examples, as well as fix fPIC with static builds on Linux
2018-02-08 23:19:45 -05:00
ThePhD
88ba80bb61 add additional CMake presentation
Update container documentation
Fix ISSUE_TEMPLATE
Fix up documentation for quick and dirty, pulling example source directly from bundled code
addresses #578
2018-02-08 00:40:34 -05:00
ThePhD
57681ab4cd This attempts to be more thorough with the validations of the test, avoiding throws wherever possible to help reduce the error surface for debugging x86 builds (which, strangely enough, are not erroring in the same places that appveyor is erroring in...)
Need to begin wrok to fix wstring_convert and replace it with some decent UTF conversion algos. It's surprisingly difficult tof ind such...
Fixes #572
Fixes #569
Fixes #567
2018-01-28 22:21:13 -05:00
ThePhD
1a64ba0fe5 Improve the docs, set up LuaJIT, and try to figure out why we can't build a DLL as an external projcet target with LuaJIT... 2018-01-19 15:03:22 -05:00
ThePhD
fc6ccdfa7e start preparations for new travis
update appveyor
add blocks for tests on platforms where things are expected to fail
prepare for LuaJIT
2017-12-25 20:18:29 -05:00
ThePhD
0e19156d52 update everything for the new cmake build, prepare for new .travis.yml and new appveyor.yml
Add name of project at top of license
fix container_traits with respect to boost::property_tree: Fixes #554
fix as_table with a vector of tuples (forward_get ignored constness): Fixes #552
2017-12-20 04:58:50 -05:00
ThePhD
e06d2fb581 add single, add examples 2017-12-10 15:56:49 -05:00
ThePhD
5f688537e0 stack_aligned_function cannot be influenced by SOL_SAFE_FUNCTION: it has different semantics and thus needs to remain unsafe. 2017-12-08 01:22:22 -05:00
ThePhD
399300fa6e add all safety and feature test macros, and improve feature safety definitions and configuration defines 2017-12-07 21:46:43 -05:00
ThePhD
7193115e24 fix destructor semantics of tests (fixes old iterator debug level problems)
Closes #361
add defines for #543
2017-12-07 08:24:50 -05:00
ThePhD
e17c0a1a80 [ci skip] update docs 2017-12-06 09:55:14 -05:00
ThePhD
a8b2c257da fix bad thread status 2017-11-29 13:34:54 -05:00
The Phantom Derpstorm
e17455f5b6
[ci-skip] Update docs 2017-11-21 16:15:07 -05:00
ThePhD
a0de11a773 add coroutine guard
update version
add donation link
2017-11-21 14:33:27 -05:00
ThePhD
e667e69d89 [ci-skip] fix title 2017-11-09 18:58:17 -05:00
ThePhD
2203c1f64f Overhaul examples
Overhaul docs for examples
Overhaul function_result and protected_function_result proxies
2017-11-09 17:41:46 -05:00
ThePhD
90bbeadd8c [ci-skip] fix presentation 2017-11-08 21:51:03 -05:00
ThePhD
f89dab57b7 [ci-skip] C++ Meetup presentation 2017-11-08 18:48:54 -05:00
ThePhD
43dda398a0 version bump 2017-11-07 20:20:57 -05:00
ThePhD
10b1bb04a9 formalize unsafe_function_result
add index-based getter to function_result
add safety checks for double deleters and other things of that nature
2017-11-07 20:19:36 -05:00
ThePhD
e6f74b85d9 [ci-skip] improve docs 2017-11-04 09:59:59 -04:00
ThePhD
540d322a26 update configure, tag and everything else 2017-10-26 13:03:49 -04:00
aixxe
7a1f20eaf1 Fix syntax error in tutorial/variables example code.
Signed-off-by: aixxe <me@aixxe.net>
2017-10-22 13:43:56 -04:00
ThePhD
73484bf8e9 add smaller environment example that's easier to process
vet entire framework for aligned reads/writes of memory for userdata
update documentation, links and tutorials accordingly
2017-10-02 17:32:58 -04:00
ThePhD
2eb53ac545 [ci skip] version bump 2017-09-24 16:49:24 -04:00
ThePhD
f9c93fc2bc update examples and documentation 2017-09-24 16:36:45 -04:00
ThePhD
6d879f571a add code to steal guts and grab stuff from other frameworks. 2017-09-23 20:26:03 -04:00
ThePhD
1fc00278d5 repair all constructors, expand type recognition 2017-09-14 08:45:44 -04:00
ThePhD
d3620c9279 [ci skip] config 'n' safety 2017-09-14 00:39:00 -04:00
ThePhD
8d828ac47b implement main_reference as per @eliasdaler's suggestions 2017-09-14 00:35:40 -04:00
ThePhD
a068c4e6e6 update single and bump version number for new release 2017-09-13 11:37:28 -04:00
ThePhD
7ff3a390b1 final lua_xmove fixes 2017-09-13 11:29:32 -04:00
ThePhD
e3bd984062 cannot do automatic lua_xmove because of state differences 2017-09-12 22:01:29 -04:00
ThePhD
e201f85a4c [ci skip] update benchmark graphs 2017-09-12 19:24:19 -04:00
ThePhD
fcdb471167 update docs and benchmarks to include images directly to cut down on doc build warnings
add coroutine tests for new xmove copy and move constructors
cry tears because Lua does not kill the variables on the thread before killing the thread
2017-09-12 19:15:23 -04:00
ThePhD
074b9ae655 add xmove constructors for function, (light )userdata, table, reference and object
add additional coroutine example
improve traits
add tests for thread transfers
update single
2017-09-11 16:12:23 -04:00
ThePhD
8409a82c1a [ci skip] update docs 2017-09-07 12:22:30 -04:00
ThePhD
fbdc5d9798 [ci skip] doc fixes 2017-09-06 15:13:17 -04:00
ThePhD
fb276676d1 create and test raw_set and raw_get
add `new_enum` overload for initializer lists
add ipairs overload for 5.2 users
2017-09-06 15:09:51 -04:00
ThePhD
761641202f initial __type implementation, need to bikeshed over what goes in it and how to query information (sol::lib::extensions time?)
fixed `sol::string_view` not pushing a string based on return type
2017-09-05 13:58:17 -04:00
ThePhD
0d48e65ad1 update single and ver 2017-08-31 21:05:30 -04:00
ThePhD
54bcda140c upgrade checkers and handlers to take a semi-optional "reason" type (const char* c-string desired)
add constructor_handler in same vein of handlers
add argument_handler in same vein of handlers
rewrite env_t checkers
2017-08-31 20:47:09 -04:00
ThePhD
a39679293c add constructors and assignment operators for protected function results and the like
improve documentation about saving compilation time and space
add docs about the two `script_..._error` functions
update single
2017-08-27 00:05:35 -04:00
ThePhD
626da4db5a [ci skip] link to a previous example so people can see it 2017-08-25 21:04:15 -04:00
ThePhD
6ce82de04d [ci skip] update docs 2017-08-24 18:57:11 -04:00
ThePhD
d98155cd22 update examples and documentation, proof typing for user 2017-08-24 14:57:28 -04:00
ThePhD
92a6fb8c11 update all the examples
fix implicitly convertible function pointers from classes using `call_detail`'s `lua_call_wrapper`
specificaly add documentation for working with `std::function`
2017-08-24 14:39:02 -04:00
ThePhD
a163ae7b33 add dynamic_object example
add note to functions about lambda return types
2017-08-23 15:48:09 -04:00
ThePhD
50a646de48 [ci skip] doc updates 2017-08-22 11:01:08 -04:00
ThePhD
e4c3ded4b2 update table documentation and force traits not to use a deleted destructor -- rather, default it according to what it inherits 2017-08-22 10:53:46 -04:00
ThePhD
8f6b51ad29 [ci skip] update docs 2017-08-21 16:20:39 -04:00
ThePhD
0c9d567d0a "automatic usertypes" are now applied everywhere, regardless of what happens
new sol::filters (currently undocumented)
new gc tests, new plain_type tests
core abstractions over usertypes streamlined
SOL_STRINGS_ARE_NUMBERS triggers added
update single
2017-08-21 15:25:43 -04:00
ThePhD
7d2665e4b5 update benchmark timing 2017-08-13 01:19:21 -04:00
ThePhD
2486d6a067 [ci-skip] support tag target update 2017-08-11 18:32:18 -04:00
ThePhD
7af8b4e80a make sure tests don't throw where possible
edit stack checks
update container_usertype_as_container examples
2017-08-11 18:12:13 -04:00
Diana
2e5d31983a Fix typos and grammar in documentation (#481)
* Typos

* Typo

* Typo

* words

* Typos, grammar

* extra space

* Typo

* Fix typos
2017-08-11 11:43:40 -04:00
ThePhD
eb1560d12a add as_container documentation
improve exception documentation
improve state_view default handlers
add SAFE_PROPAGATION defines for compiling C++ as Lua
add examples for automatic operator registrations and as_container
fix tutorial code
change tests to not throw unless absolutely necessary
provide synchronization for file writing in tests
provide thread safety around thread tests for REQUIRE
add ostream automatic support
change 5.1 compat to only kick in luaL_loadbufferx and luaL_loadfilex when LuaJIT is version 2.0.1 and lower
2017-08-11 03:24:17 -04:00
ThePhD
ae0605f38a Drop 3.5 from the supported list due to the bug 2017-08-07 16:10:41 -04:00
ThePhD
ca685e01c9 gcc plagues me , and will continue to, for a while to come
BUT IT WOOORKS!
2017-08-07 02:07:21 -04:00
ThePhD
03c229b25b overhaul examples and add 2 new ones in preparation for the coming hell
fix how `stack_aligned_protected_function` and its friends behave
add new internal handler details to allow for stack-based handlers with maximum performance
update `string_shim` typedef to simply be called `string_view` and use `string_view` in all public-facing APIs.
2017-08-06 12:20:32 -04:00
ThePhD
ee67f88985 Merge remote-tracking branch 'origin/develop' into develop 2017-08-05 19:21:31 -04:00
ThePhD
104485bebd this mega commit prepares to fix all of the issues listed in the repository for the past 3 weeks 2017-08-05 19:20:28 -04:00
Stephen Lane-Walsh
f8d896f2a7 Corrected semi-colon ';' to colon ':' in usertype documentation 2017-07-22 11:15:55 -04:00
ThePhD
0744cc4e4a [ci skip] documentation polish and explicitness 2017-07-09 14:50:54 -04:00
ThePhD
afaecbad2c in_place will be the death of me 2017-07-09 13:44:28 -04:00
ThePhD
e69e7c79fa C++17 additions: std::variant, string_views of all types, checker for if we have the right version
added variadic_results, to return a variable number of arguments to Lua
added variadic_results and as_results
added improved function examples (for multiple results and split overloading out)
added tests for variadics
added tests for C++17 utilities
added a forwarding header
added a specific `unsafe_function` header
added and improved documetation pages
2017-07-09 12:54:52 -04:00
ThePhD
345a398cdc [ci-skip] doc polish 2017-07-01 11:20:39 -04:00
ThePhD
da28527421 prepare for container_traits to be a thing
update large parts of the documentation and add a new section to streamline information about functions
2017-07-01 11:02:15 -04:00
ThePhD
874a14f2d9 [ci skip] update documentation 2017-06-29 12:31:38 -04:00
ThePhD
17271c84cb BREAKING CHANGE: std::pair for regular containers that are not marked as as_table_t or as_nested will now behave like regular containers and not force themselves to be key-value pairs. table-style serialization is still unaffected. 2017-06-23 18:07:24 -04:00
ThePhD
51a03b2b35 [ci skip] add docs about running out of heap space 2017-06-12 17:34:42 -04:00
ThePhD
02110a5361 update single with newest version
Fixes #414
FIxes #419
2017-06-07 12:36:35 -04:00
ThePhD
661386c384 revert codecvt fix for MinGW v7 and greater
add docs about compiler support
add notes about compilation issues
update single
2017-06-07 12:33:59 -04:00
ThePhD
7168c3177b Add some additional documentation to aid in understanding 2017-05-31 18:58:24 -04:00
ThePhD
acee4dbbc9 [ci skip] fix docs 2017-05-27 11:00:15 -04:00
ThePhD
6047f48343 vet container_usertype and wrap for the proper traits regarding assignment and checking of said assignments
update documentation with more tips and other similar things
2017-05-20 20:01:04 -04:00
ThePhD
8efafca46a [ci skip] update single, bump version 2017-05-09 13:27:23 -04:00
ThePhD
58003669fb this_environment is now live 2017-05-09 13:24:56 -04:00
Carlos Carrasco
e13711ed84 add find method to containers to make fast lookups into set/unordered_set 2017-05-03 18:54:38 -04:00
ThePhD
de7d7e8da5 update versions 2017-04-18 20:26:35 -04:00
ThePhD
2acc8bee14 get_environment, documentation updates, and tests 2017-04-18 20:23:20 -04:00
ThePhD
e856abc35b bump version numbers 2017-04-04 16:26:49 -04:00
ThePhD
8c94cb730b Fix static initialization order fiasco with meta_function_names 2017-04-04 16:16:22 -04:00
Stefan Bühler
0563d9e124 fix return type of call operator in function.rst
without result type specification it returns `function_result`
2017-04-03 08:13:07 -04:00
ThePhD
fd507d87bb [ci skip] doc updates 2017-04-03 00:30:20 -04:00
ThePhD
07cee03a8b [ci skip] state doc updates 2017-04-03 00:08:56 -04:00
squeek
cff6ff99ea Minor environment doc fixes [ci skip] 2017-04-02 23:05:33 -04:00