- fixed mulleRegisterObject: in NSMutableSet
feat: improve container classes and build system
-
Enhance container class hierarchy
- Add MulleObjCContainer base class
- Move common container code to base class
- Rename NSEnumerator+NSArray to NSArray+NSEnumerator
- Add MulleObjCContainer+NSArray category
-
Improve build system and CMake support
- Add CMake package config files
- Update compiler flags and warnings
- Add TAO debug support via
OBJC_TAO_DEBUG_ENABLED
option - Fix Windows compatibility issues
- Add sccache support for Linux
-
Refactor source organization
- Move shared code to MulleObjCContainer
- Update header includes and dependencies
- Fix file paths and directory structure
- Clean up obsolete environment settings
- changed type of n of
mulle_qsort_pointers
to unsigned int for more consistency - migrated off
mulle_flexarray_do
towardsmulle_alloca_do
- BREAKING CHANGE as callbacks moved to MulleObjC (mostly) made the remaining callbacks more consistent and not the struct/pointer mish mash they were previously
- new method mulleMoveObjectsInRange:toIndex: on NSMutableArray
- Various small improvements
- moved callbacks to MulleObjC
- change GLOBALs for Windows
- Various small improvements
- adapt to changes in MulleObjC
- added
[NSMutableArray mulleRemoveLastObject]
as a convenient pop operation mulle_qsort_pointers
can detect a case of a wrong comparator (possibly should be debug mode only)- NSArray gains a
mulleContainsObjectIdenticalTo:
method to be interchangeably used with NSSetsmember
- NSMutableArray
-removeObjectsInArray
has been rewritten for speed - Containers gain a
mulleInitWithContainer:
method, to easily create sets from arrays and dictionaries and vice versa mulleInitWithCapacity:
has been renamed tomulleInitForCoderWithCapacity:
as to make accidental use less likely- add
mulleRegisterObject
to NSMutableSet which combinesmember/addObject:
calls into one - added -mulleCountCollisions: to check how well the hash performs
- remove duplicate objc-loader.inc
- new mulle-sde project structure
- adapt to renames in mulle-container
- adapt to renames in MulleObjC
- use return value of
MulleObjCValidateRangeAgainstLength
to allow [self count] being passed in as -1 - split off from MulleObjCStandardFoundation