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
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
Ilya Averyanov
465c0ff502
Use stack::push to push new_table in basic_table_core
2017-12-20 03:58:25 -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
1fc00278d5
repair all constructors, expand type recognition
2017-09-14 08:45:44 -04:00
ThePhD
8d828ac47b
implement main_reference as per @eliasdaler's suggestions
2017-09-14 00:35:40 -04:00
ThePhD
5816c6c34b
.clang-format the crap out of everything, I guess...!
2017-09-13 02:46:56 -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
d80748e6bb
fix raw/global parameter swapping
...
prepare for compat changes
2017-09-07 00:51:35 -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
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
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
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
34b81bef6b
Handle qualified name failures of VC++, where using
templates do not match the fully qualified names of what they alias to (Thanks, VC++)
2017-05-15 10:41:50 -04:00
ThePhD
a3d6f8044c
working stuff!~
2017-04-19 13:00:47 -04:00
ThePhD
185f5ecc05
new travis environments to be tested out for osx stuff, plus new_table docs and environments on function calls
2017-04-02 22:37:01 -04:00
ThePhD
309325d0f5
New feature: environment plus documentation about the environment table and its usage with scripts.
2017-04-02 16:10:00 -04:00
ThePhD
72fe0a5a31
remove std::move
from items
2017-03-13 17:45:54 -04:00
ThePhD
30ecd7127a
Tracking LuaJIT deletion bug, but it seems to be connected to the Hash Map iterator level...? Something is wrong, here...
2017-03-13 15:05:02 -04:00
ThePhD
f4f3bffe2f
Oh boy, more simplicity functions...!
2016-12-10 01:19:23 -05:00
ThePhD
edeb81a7e1
Add registry constructors to tug things right out of the registry, and add a main_thread getter to aid in Joynet dev
2016-12-10 00:25:25 -05:00
ThePhD
d0a36c9657
objc define to keep code clean on that platform
2016-12-03 07:33:18 -05:00
ThePhD
289ded358c
-Wshadow and -Wconversion are kind've dumb
2016-11-25 20:47:15 -05:00
ThePhD
5193db55c3
allow for not-containers to be specified
...
Make sure tables of various sizes are kept working
2016-10-28 04:36:04 -04:00
ThePhD
2ac711b7f8
fix static initializer bugs from crap -- and remember to hunt down and get rid of all non-constexpr things like it in the future...
2016-10-21 17:32:27 -04:00
ThePhD
b05ce97247
Allllll the fixes. All the time. Mostly to make sure constructors don't fight with each other and safety is respected. And documentation updates.
2016-10-01 01:27:40 -04:00
OrfeasZ
95ddf46b55
Introduced a new simple_usertype class which derives from usertype.
...
Exposed an "add" function for it in order to allow adding members one at a time before registration.
Introduced state_view.create_simple_usertype<T>() methods for creating simple_usertypes.
2016-09-17 18:22:19 +03:00
ThePhD
0de30f3b3a
Upgrading simple_usertype implementation with BREAKING changes. Docs now include that information too. as_function now works with usertypes for limited cases.
2016-09-13 12:37:08 -04:00
ThePhD
cf76f6baa0
V E T T E D
...
Slight breaking change, but at the source level almost nothing changes (ipairs is the only thing that changes because for some reason it checks if what is passed is a table and that really doesn't make any fucking sense)
Closes #195
Closes #196
2016-08-23 21:42:27 -04:00
ThePhD
89250697aa
Documents nullptr ( Closes #159 )
...
Documents callable structures and the function to use with `table.set` if needed (Closes #162 )
2016-08-06 00:30:35 -04:00
ThePhD
de359acb3e
Let's do iiiit.
2016-07-28 13:33:08 -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
63b9f748f7
Nice segmentation fault, GCC
2016-06-19 19:13:01 -04:00
ThePhD
556be8da98
Documentation updates -- require function and add function and size function needed documentation
...
New `add` function as requested by @EliasD
2016-06-19 17:59:40 -04:00
ThePhD
220ff5a475
Fixes the key value being left on the stack when using iterators (the other case that's not "and we're not actually using this for iteration", asides from the empty table case).
...
Closes #111 - fixed
Closes #110 - need to test exactly how much extra speed was gained
Closes #108 - seems to be fixed, albeit std::mutex is a butt on VC++
2016-06-07 20:32:10 -04:00
ThePhD
9f019ae536
Adds requires feature - Closes #90
...
Function name for getting the status was actually changed to status in all places... being consistent, yay
2016-05-19 17:27:12 -04:00
ThePhD
3b81a7c85f
VC++ is a butt, but this Closes #91
...
It prepares for #97 as well, and blocks out #95 until I can be assed
Now, it's either performance or handling sol::property ...
2016-05-19 02:15:42 -04:00
ThePhD
033c61ff1a
Constructors for many of the types updated. sol::object
now makes many more styles of types. Tests updated to match. Update documentation as per #87 . Close #88 . Close #86
2016-05-13 02:48:22 -04:00
ThePhD
1c61773354
Use absolute indices in the places where it's necessary.
2016-05-03 16:49:53 -04:00
ThePhD
06fecfb4ca
Fix optional usages and edge cases. Closes #74
2016-05-02 01:52:51 -04:00
ThePhD
42f4455383
Allow for "static functions" to be registered on userdata like other parts of the framework, as well as self-contained structs and lambas.
...
sol::readonly for the ability to make a variable set on a userdata readonly.
No support for property yet: put on issues list for later
2016-04-11 01:02:43 -04:00
ThePhD
9734577fdb
stack implementation, plus reference semantics within lua for usertypes/data now.
...
I hate my life.
I hate the projects I'm working on.
Closes #53
Closes #56
Closes #52
2016-04-07 05:21:49 -04:00
ThePhD
204bd5d5ed
This adds the additional safety features. stack_guard should probably be migrated into the tests too, since a lesser form is already used there.
...
Closes #54 #55
2016-04-04 02:28:39 -04:00
ThePhD
8862c65f0a
NOW we're truly feature complete. Sheesh, the work that this requires....
2016-03-31 16:16:07 -04:00
ThePhD
2d14cedc17
Eat shit, std::tuple
2016-03-31 12:12:04 -04:00
ThePhD
20c4fee60e
unused parameter derp
2016-03-30 02:07:09 -04:00
ThePhD
92c388e30a
And nooow we're set for optional. Totally. With the get_or
implementation as well. Hopefully this will be all we need.
2016-03-30 01:40:40 -04:00
ThePhD
9804d7dd63
Merge remote-tracking branch 'zwparchman/develop' into develop
2016-03-30 00:34:05 -04:00
ThePhD
5acb33e2bc
full-on optional support. so much support it's coming through my eyeballs. Goodness.
...
Support for c_call wrapper to be a thing.
2016-03-30 00:31:18 -04:00
Zachary
6637f2e1b7
Added table::get_with_default method
...
There is now a sol::table::get_with_default method that takes 2
arguments, one being the key to search on, the other being the default.
If the key does not have a value in the table the default value is
returned.
2016-03-29 13:03:19 -05:00