Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Callable object for typed functions #1047

Open
wants to merge 91 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
f5f7a9e
Initial work for typed functions
Aidan63 Apr 15, 2023
2ff3d34
Bit of cleanup to use typedefs
Aidan63 Apr 22, 2023
3bf7ee0
implicit conversion to T for use in wrapper functions
Aidan63 Apr 22, 2023
641a246
Remove extra callable subclass and MarkThis GC functions
Aidan63 Apr 25, 2023
d22bebd
Add null check operator
Aidan63 Apr 25, 2023
cc56df6
Throw when calling null object function or dynamic is not a function
Aidan63 Apr 25, 2023
4fd880a
Add closure mark and visit gc functions
Aidan63 Apr 27, 2023
8395a63
Add instance of to base callable object
Aidan63 Apr 27, 2023
89589fa
bump API level
Aidan63 Apr 27, 2023
e1cb35a
Update macro template
Aidan63 Apr 27, 2023
e2c67c7
revert temp changes
Aidan63 Apr 27, 2023
c624121
Use callable for create_var_args function
Aidan63 Apr 27, 2023
4db375a
Use callables for Maths _dyn functions
Aidan63 Apr 29, 2023
b951ee6
Callables for string _dyn functions
Aidan63 Apr 30, 2023
f0730ab
Add __run functions to maths and string callables
Aidan63 May 15, 2023
13f336e
Handle __Run variant in Callable_obj with some template magic
Aidan63 May 15, 2023
c26b492
Add compare functions to maths and string callables
Aidan63 May 15, 2023
b056dc6
Experiments in not needing loads of manual __run overloads
Aidan63 May 24, 2023
5b558a4
Restore missing __Run function for varray dyn closures
Aidan63 May 28, 2023
b97d9c3
reinterpret to hx::Object
Aidan63 May 28, 2023
5393507
Add back some __Run functions to work with templating changes
Aidan63 May 28, 2023
879a7db
Cppia now compiles (but test suite still fails)
Aidan63 May 28, 2023
08d61cf
Make Ptr on callable public
Aidan63 Jun 1, 2023
b12eedd
Add a bunch of api level checks I got lazy about and didn't initial w…
Aidan63 Jun 4, 2023
d385c74
One more forgotten api level check
Aidan63 Jun 4, 2023
ea72e99
Could it be this?
Aidan63 Jun 7, 2023
8aa8588
Restore forgotten about dynamic call functions for strings
Aidan63 Jun 7, 2023
ee5d4ca
Fix broken array closure macro for dynamic runs
Aidan63 Jun 10, 2023
bbb2d66
Split out array safe sorter
Aidan63 Jun 18, 2023
73061bf
Array sort and filter functions use callables
Aidan63 Jun 18, 2023
a24b1d1
Array map function uses callable (still somewhat dynamic)
Aidan63 Jun 18, 2023
8400309
Switch sorter away from fixed sized numerics
Aidan63 Jun 18, 2023
6254bc3
Revert "Switch sorter away from fixed sized numerics"
Aidan63 Jun 18, 2023
5245a1b
Include limits header
Aidan63 Jun 18, 2023
5b9dcad
More header include order faff
Aidan63 Jun 18, 2023
48e2bc9
Update cppia array implementation to work with callables
Aidan63 Jun 18, 2023
b172ba6
Only define callable at 500 api level
Aidan63 Jun 18, 2023
9b49046
Templated array map function
Aidan63 Jun 19, 2023
4079f4e
Update cppia array support to work with templated map
Aidan63 Jun 19, 2023
667e770
Add forgotten about api level checks
Aidan63 Jun 19, 2023
6f6d87b
avoid one if constexpr with a specialised template
Aidan63 Jul 2, 2023
4afde3c
Specialised callable ptr class to not need constexpr
Aidan63 Jul 2, 2023
bca1043
C++11 index sequence
Aidan63 Jul 2, 2023
d212790
Remove constexpr if in dynamic call
Aidan63 Jul 2, 2023
3a6cf83
Remove now unused extra level of indirection
Aidan63 Jul 2, 2023
2ed34e3
Alternative to C++17 folds
Aidan63 Jul 2, 2023
8c198ca
Only require C++11
Aidan63 Jul 2, 2023
a1c7a8f
callables for virtual array dyn closures
Aidan63 Jul 2, 2023
a54af1d
Add forgotten api level check
Aidan63 Jul 2, 2023
d427ca7
callables for array dyn closures
Aidan63 Jul 9, 2023
732d51b
Fix some include issues
Aidan63 Jul 14, 2023
01487b6
Reduce duplicated maths function macro
Aidan63 Jul 14, 2023
52a277e
Reduce duplicated string function macro
Aidan63 Jul 14, 2023
b0dbef6
Use HX_LOCAL_RUN in array function macros
Aidan63 Jul 14, 2023
b056ecb
help the compiler with nested template case
Aidan63 Jul 14, 2023
4de7e9a
Allow creating a null callable from a null dynamic object
Aidan63 Jul 16, 2023
fcd3b6a
support pointer and struct wrapping for dynamic calls
Aidan63 Jul 17, 2023
855d621
c++11 version
Aidan63 Jul 17, 2023
3b6be47
Create new intermediate closure object to hide forward declaration is…
Aidan63 Jul 19, 2023
941b251
API level check
Aidan63 Jul 19, 2023
42e0eac
Add new closure header
Aidan63 Jul 19, 2023
8c0c085
add hx::Object* operator to dynamic for easier cffi and callable interop
Aidan63 Jul 21, 2023
ab74cc8
Add callable constructor which accepts a cpp::Function of the same si…
Aidan63 Jul 21, 2023
0f239c0
Update cffi caller object to work with new __run and __Run
Aidan63 Jul 23, 2023
572ff6f
Apply null check to void callable specialisation to allow null callables
Aidan63 Jul 23, 2023
bb66d0d
Allow null callables in the void return callable specialisation
Aidan63 Jul 26, 2023
f87d79d
turn cppia logging back off
Aidan63 Jul 26, 2023
c77e6db
Don't use a MemReference for objects
Aidan63 Jul 26, 2023
c0bc3ea
Do not place mistakenly place hx::Object*'s in cpp::Pointers as part …
Aidan63 Jul 26, 2023
74949d5
Add forgotten about return and explicit template
Aidan63 Jul 26, 2023
181aac3
Add some write barriers
Aidan63 Jan 6, 2024
16de7b0
typedef instead of using for < c++11
Aidan63 Jan 6, 2024
1f41819
Merge branch 'master' into typed-functions
Aidan63 Jan 6, 2024
0397b91
Fix dodgy typedef
Aidan63 Jan 6, 2024
aad8c76
Another dodgy typedef
Aidan63 Jan 6, 2024
0290164
Callable for thread creation function
Aidan63 Jan 6, 2024
c3a3702
Slightly different conditional for mapping func
Aidan63 Jan 7, 2024
ef4c51f
Cppia fixes related to the thread create callable update
Aidan63 Jan 8, 2024
b2c36a5
Merge branch 'master' into typed-functions
Aidan63 Jun 26, 2024
e348fee
Fix botched merge
Aidan63 Jun 26, 2024
808a170
Merge branch 'master' into typed-functions
Aidan63 Jul 27, 2024
502ad5d
remove __run
Aidan63 Aug 30, 2024
37a1753
remove closure
Aidan63 Aug 30, 2024
10199e9
get cppia working
Aidan63 Aug 30, 2024
75708c6
api level guarding
Aidan63 Aug 30, 2024
7358931
Merge branch 'master' into typed-functions
Aidan63 Aug 30, 2024
14d8cc1
fix dodgy cffi copy and paste job
Aidan63 Aug 30, 2024
02d8549
More fixes
Aidan63 Aug 30, 2024
bc2886d
silence warning to see if there are actual errors
Aidan63 Aug 30, 2024
5c037cd
forward declaration to make clang happy
Aidan63 Aug 31, 2024
9ff7cbc
try removing the HXCPP_CLANG guard
Aidan63 Aug 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions hxcpp/Builder.hx
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,12 @@ class Builder
target = target.substr(7);
}
var staticFlags = isStatic ? ["-Dstatic_link"] : [];
#if (hxcpp_api_level>=500)
staticFlags.push("-DHXCPP_CPP11");
#else
if (target=="ios" || target=="tvos")
staticFlags = ["-DHXCPP_CPP11"];
#end

switch(target)
{
Expand Down
Loading