Skip to content

3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jan 05:56
· 16 commits to master since this release

Changed

  • BlockUtil.h: makeBlock functionality is completely reworked. New functionality:
    • Wrap any callables including mutable lambdas or any other callable that provides non-const operator().
    • If the callable is movable it will be moved into the block, not copied. It will also be moved if the block is "copied to heap"
      by ObjectiveC runtime or Block_copy in plain C++.
    • It is possible to use move-only callables.
    • All of this is accomplished with NO dynamic memory allocation
  • NSStringCharAccess now conforms completely to std::ranges::random_access_range
  • BoxUtil.h: boxing now detects comparability and enables compare: not just via presence of operator <=> but also when only operators <, ==, <= etc. are present.
  • BoxUtil.h: generated ObjectiveC box classes now have names unique to each shared library/main executable, preventing collisions if multiple modules use boxing.

Added

  • NSStringUtil.h: added makeNSString, makeCFString and makeStdString conversion functions between C++ character ranges and ObjectiveC strings.

See README for more details