Releases: HaxeFoundation/hxcpp
Releases · HaxeFoundation/hxcpp
Release 4.3.115
Callable object for typed functions (#1047) * Initial work for typed functions * Bit of cleanup to use typedefs * implicit conversion to T for use in wrapper functions * Remove extra callable subclass and MarkThis GC functions * Add null check operator * Throw when calling null object function or dynamic is not a function * Add closure mark and visit gc functions * Add instance of to base callable object * bump API level * Update macro template * revert temp changes * Use callable for create_var_args function * Use callables for Maths _dyn functions * Callables for string _dyn functions * Add __run functions to maths and string callables * Handle __Run variant in Callable_obj with some template magic * Add compare functions to maths and string callables * Experiments in not needing loads of manual __run overloads * Restore missing __Run function for varray dyn closures * reinterpret to hx::Object * Add back some __Run functions to work with templating changes * Cppia now compiles (but test suite still fails) * Make Ptr on callable public * Add a bunch of api level checks I got lazy about and didn't initial write * One more forgotten api level check * Could it be this? * Restore forgotten about dynamic call functions for strings * Fix broken array closure macro for dynamic runs * Split out array safe sorter * Array sort and filter functions use callables * Array map function uses callable (still somewhat dynamic) * Switch sorter away from fixed sized numerics * Revert "Switch sorter away from fixed sized numerics" This reverts commit 8400309e64e4363fccf4ca1400a0318cee35913f. * Include limits header * More header include order faff * Update cppia array implementation to work with callables * Only define callable at 500 api level * Templated array map function * Update cppia array support to work with templated map * Add forgotten about api level checks * avoid one if constexpr with a specialised template * Specialised callable ptr class to not need constexpr * C++11 index sequence * Remove constexpr if in dynamic call * Remove now unused extra level of indirection * Alternative to C++17 folds * Only require C++11 * callables for virtual array dyn closures * Add forgotten api level check * callables for array dyn closures * Fix some include issues * Reduce duplicated maths function macro * Reduce duplicated string function macro * Use HX_LOCAL_RUN in array function macros * help the compiler with nested template case * Allow creating a null callable from a null dynamic object * support pointer and struct wrapping for dynamic calls * c++11 version * Create new intermediate closure object to hide forward declaration issues * API level check * Add new closure header * add hx::Object* operator to dynamic for easier cffi and callable interop * Add callable constructor which accepts a cpp::Function of the same signature * Update cffi caller object to work with new __run and __Run * Apply null check to void callable specialisation to allow null callables * Allow null callables in the void return callable specialisation * turn cppia logging back off * Don't use a MemReference for objects * Do not place mistakenly place hx::Object*'s in cpp::Pointers as part of the automatic dynamic calls * Add forgotten about return and explicit template * Add some write barriers * typedef instead of using for < c++11 * Fix dodgy typedef * Another dodgy typedef * Callable for thread creation function * Slightly different conditional for mapping func * Cppia fixes related to the thread create callable update * Fix botched merge * remove __run * remove closure * get cppia working * api level guarding * fix dodgy cffi copy and paste job * More fixes * silence warning to see if there are actual errors * forward declaration to make clang happy * try removing the HXCPP_CLANG guard * strip const-ness of pointers before wrapping in cpp::Pointer for dynamic * Ensure callables are not reinterpreted when static casted needed to work around a cppia edge case * wrap in cppia define check * re-introduce intermediate object for haxe generated callables * Move to a traits based dynamic conversions for the invoker * Add native struct wrapping back * Update objective c helpers * Add missing api level check --------- Co-authored-by: Aidan Lee <[email protected]>
Release 4.3.114
Haxe friendly root api (#1292) * Root api * Null checking * Some tests --------- Co-authored-by: Aidan Lee <[email protected]>
Release 4.3.113
v4.3.113 [ci] Revert to release version of setup-haxe (#1291)
Release 4.3.112
[tests] Fix cppia inheritance test (#1272) * [ci] Update to haxe 4.3.7 * [tests] Ensure HostExtendedRoot is in cppia host
Release 4.3.111
v4.3.111 Fix undefined behaviour in View::tryCopyTo overlap (#1287)
Release 4.3.110
[ci] Switch to patched setup-haxe version (#1286) * [ci] Hardcode latest haxe version for setup-haxe This avoids the invalid url error caused by relative redirect of the "latest" file. * Apply Aidan's patch for encoding errors * Avoid warnings from string encoding code * [ci] Switch to patched setup-haxe version * Omit name for unusued null arguments
Release 4.3.109
Marshal String Encodings (#1283) * Add new encoding tests and implementation * Remove old marshal stuff and return an empty string instead of throwing * update tests * Case change * Update utf16 codepoint encoder * Add some extra functions * copyTo function for view * single bounds check for utf8 encode * marshal writes * remove some conversion issues * Remove un-needed cast * Remove questionable implicit view to pointer conversions * int returns * switch to a dedicated codepoint function for utf16 * move to a dedicated codepoint function for utf8 as well * Fix incorrect index reuse * Add new view extension cstring function tests * Add a smart strings guard * const view * const ref marshal read and writes * more const ref and less object copying * Fix index reuse issue * separate build xml for encoding * Don't return hx::Throw result in non smart string case * Revert "separate build xml for encoding" This reverts commit 695e134657b2ae014de2d2c4cd88544eb0d62537. * better smart string handling and shuffle some functions in lower hxcpp * Revert some version guards * Add pointer check define * I don't understand why this is needed No changes were made in this area, dev haxe + hxcpp also fails to build that test locally for me * remove addition since there must be something else weird going on * Could it really be this? * Dynamic char32_t support --------- Co-authored-by: Aidan Lee <[email protected]>
Release 4.3.108
[cppia] Fix haxe overridden scriptable methods (#1273) * [cppia] Add flag for scriptable overridden methods This allows overridden methods to be marked so that they do not add an addtional slot to the vtable, which has previously caused bugs due to incorrect vtable indices. * [cppia] Infer overrides from matching method name For haxe versions that do not tag overridden methods in __scriptableFunctions tables, we can infer overrides at runtime by comparing method names. * [cppia] Swap scriptable func argument order This way is a bit more backwards compatible. An overridden method will always have a super version provided.
Release 4.3.107
v4.3.107 [tools] Add check for invalid ANDROID_NDK_ROOT (#1281)
Release 4.3.106
Typed zip (#1277) * Updated zlib implementation * header faff to make gcc pch happy * Support haxe 4 with new implementation * no longer throwing on multiple close calls * Give different file names to avoid cache issues * Fix old string value * Another old string * static cast to int to avoid dynamic conversion of unsupported type * true instead of 1 for asLibrary value * some build xml tweaks * Make sure this_dir is used before Zip.cpp * case sensitive * Fix case sensitivity in include * flip around files order --------- Co-authored-by: Aidan Lee <[email protected]>