f67ec7afb1
Fix header installation
2022-05-15 16:09:18 +02:00
b8066a3f34
Add working example of constructor overloading
2022-05-15 16:03:29 +02:00
abbb3b3818
Clean up include directory structure
2022-05-15 15:41:00 +02:00
9921e59a6b
Add support for foreign constructor overload
...
Make vm_fun.hpp fun again by moving setters/getters
into a separate header.
Add new make_overloaded_foreign_class(), but code is still
untested and it's a work in progress at this point.
Interface will change.
2022-05-15 15:35:25 +02:00
996a089185
Add support for class constructor parameters
2022-05-15 02:40:41 +02:00
d3ad818b8e
Fix installation
2022-05-14 19:49:29 +02:00
036dd57524
Allow chaining calls to add_class_maker()
2022-05-14 18:06:35 +02:00
258237cbf3
Implement ClassManager
...
Very similar to CallbackManager in its functioning.
2022-05-14 17:06:25 +02:00
74670f4683
Extract consecutive strings logic into a separate class
...
This is going to be also used in the upcoming ClassManager class.
It also makes FullSignatureOwning less cluttered.
2022-05-14 16:20:50 +02:00
d985ebc417
Fix assert due to typo
2022-05-12 23:53:15 +02:00
c2089568f3
Bugfixes and improvements, simplify examples
2022-04-29 18:35:46 +02:00
fa0183a3bf
Implement CallbackManager
...
With it users don't have to provide a foreign_method_fn()
function anymore, it's become optional.
2022-04-29 18:16:57 +02:00
7fcb89e459
Move more stuff to wren_types.hpp
2022-04-29 18:15:02 +02:00
edd5f27ab2
Build fix
2022-04-29 12:43:06 +02:00
5d6575f328
Add make_foreign_object() overload
...
It's only available when users define WRENPP_WITH_NAME_GUESSING
and it automatically retrieves the class name of T using
new code in guess_class_name.hpp. Only tested on gcc so far.
Microsoft compiler doesn't seem to understand consteval keyword.
2022-04-29 12:34:01 +02:00
10e3c9adac
Correctly manage the case of string=nil if wreng_string_t is string_view
2022-04-29 12:34:01 +02:00
a63a8c33d8
Add make_foreign_object() function.
...
It creates an instance of the given foreign class and
returns a pointer to it. The wren object is stored in
slot 0.
2022-04-29 12:34:01 +02:00
31ba3af348
Update copyright year
2022-04-28 22:56:11 +02:00
6f4b0ce094
Pass string_view instead of const char* to callback functions
2022-04-28 22:55:22 +02:00
f84234cede
Remove redundant const
2022-04-25 01:30:22 +02:00
30746aec19
Revert "Add ret to avoid data being "executed""
...
This reverts commit 1713a22ef4
.
2022-04-25 00:41:02 +02:00
1713a22ef4
Add ret to avoid data being "executed"
2022-04-24 22:07:39 +02:00
e157607df6
Update copyright year on recently modified files
2022-04-24 03:43:19 +02:00
7a821fcd2c
Add support for aarch64
2022-04-24 03:41:14 +02:00
1a01a016f2
Remove unnecessary function
2022-04-22 22:38:19 +02:00
f749b7fb18
call() will fail earlier when object for call doesn't exist
2022-04-22 22:04:09 +02:00
0255edb8be
Update wren to latest and fix build
2022-04-22 22:02:59 +02:00
b4383e9449
Set slot in case caller didn't, or else why we get the object parameter?
2022-04-22 10:36:41 +02:00
839dbccfb1
Assert that there is at least one slot allocated
2022-04-22 10:36:35 +02:00
dfb3514ffc
Fix variable names and split long line
2022-04-22 10:36:25 +02:00
b2d1b92c36
Update to wren 0.4.0
2021-06-23 17:37:01 +02:00
f985abca61
Version bump to 0.1.2
2021-02-12 14:43:25 +01:00
68df4d3371
Extend test program a bit to try the new reset() method.
2021-02-12 14:43:25 +01:00
cfc8bb89f8
Add convenience variable_ensure_slot
2021-02-12 14:43:25 +01:00
52d9210400
Include vector size in mem usage count
2021-02-12 14:43:25 +01:00
dc10c38a3f
Add reset() method
2021-02-12 14:43:25 +01:00
719a57d3e8
Add lib name to config header
2021-02-10 23:14:13 +01:00
4c65807d93
This option was removed from the subproject
2021-02-10 12:48:21 +01:00
3c318d6771
Add a very simple test program
...
Not quite a unit test, it looks more like an example
but still something.
2021-02-02 14:04:27 +01:00
12c01f6f3e
Fix some unit test failures that were my fault
2021-01-22 13:45:29 +01:00
aac87d85c0
Update wren to 0.3.0
...
Upstream repo got wren-cli split out into a separate
git repo so it can't be built as part of the wren
repo anymore. Unit tests have also changed, meson
script now relies on a python find script to get all
the *.wren files that should be passed to the unit
test executable.
2021-01-22 11:52:20 +01:00
4360ad03cf
Version bump to 0.1.1
2020-05-04 00:41:39 +02:00
18e28bd5b6
Add initial README
2020-05-03 15:17:35 +02:00
6a30725a62
Add arbitrary method to foreign_method_t conversion helper
...
It might not work in every case, you still are restricted
to types that set() and get() understand.
2020-05-03 12:23:06 +02:00
34d2317f11
Add support for foreign types to get()
...
wren::get() can now be used to get foreign types by pointer.
Invoking get<A>() will return an A*. With this change it's
now possible to use variables() to get mixed foreign
and core types.
2020-05-03 11:32:43 +02:00
90d93d2583
Add calendar example and supporting functions
2020-05-03 01:54:07 +02:00
cad9f96739
Add a reallocate_fn() to DefConfiguration implemented around new/delete
2020-05-02 23:28:48 +02:00
65189a5575
Move files around
...
Sample main.cpp is now into examples/greet
2020-05-02 22:55:10 +02:00
a3c1199da9
Add a small dice rolling example game
2020-05-02 22:41:58 +02:00
3a8285a518
Fix crash when user's foreign_method_fn() returns nil.
2020-05-02 00:05:36 +02:00