Differences From Artifact [72663abff1]:
- File
src/OFArray.h
— part of check-in
[496695d778]
at
2019-09-29 19:35:38
on branch trunk
— Either restrict subclassing or reserve ivar space
This allows ABI stability with the fragile ABI. (user: js, size: 15919) [annotate] [blame] [check-ins using] [more...]
To Artifact [3219a87afc]:
- File
src/OFArray.h
— part of check-in
[1a9f18064e]
at
2019-09-30 21:27:19
on branch trunk
— Don't reserve ivars for class clusters
Subclasses of these often inherit methods (e.g. mutable class from
immutable class), which breaks. (user: js, size: 15614) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
88 89 90 91 92 93 94 | * @brief An abstract class for storing objects in an array. * * @note Subclasses must implement @ref count and @ref objectAtIndex:. */ @interface OFArray OF_GENERIC(ObjectType): OFObject <OFCopying, OFMutableCopying, OFCollection, OFSerialization, OFJSONRepresentation, OFMessagePackRepresentation> | < < < < | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | * @brief An abstract class for storing objects in an array. * * @note Subclasses must implement @ref count and @ref objectAtIndex:. */ @interface OFArray OF_GENERIC(ObjectType): OFObject <OFCopying, OFMutableCopying, OFCollection, OFSerialization, OFJSONRepresentation, OFMessagePackRepresentation> #if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) # define ObjectType id #endif /*! * @brief The objects of the array as a C array. * * The result is valid until the autorelease pool is released. If you want to |
︙ | ︙ | |||
492 493 494 495 496 497 498 | - (nullable id)foldUsingBlock: (of_array_fold_block_t)block; #endif #if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) # undef ObjectType #endif @end | < < < < < < < < < < < < < | 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 | - (nullable id)foldUsingBlock: (of_array_fold_block_t)block; #endif #if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) # undef ObjectType #endif @end OF_ASSUME_NONNULL_END #import "OFMutableArray.h" #if !defined(NSINTEGER_DEFINED) && !__has_feature(modules) /* Required for array literals to work */ @compatibility_alias NSArray OFArray; #endif |