16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#import "OFEnumerator.h"
@class OFDataArray;
@class OFString;
#ifdef OF_HAVE_BLOCKS
typedef void (^of_array_enumeration_block_t)(id obj, size_t idx, BOOL *stop);
#endif
/**
* \brief A class for storing objects in an array.
*/
@interface OFArray: OFObject <OFCopying, OFMutableCopying, OFCollection,
OFFastEnumeration>
|
>
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#import "OFEnumerator.h"
@class OFDataArray;
@class OFString;
#ifdef OF_HAVE_BLOCKS
typedef void (^of_array_enumeration_block_t)(id obj, size_t idx, BOOL *stop);
typedef BOOL (^of_array_filter_block_t)(id odj, size_t idx);
#endif
/**
* \brief A class for storing objects in an array.
*/
@interface OFArray: OFObject <OFCopying, OFMutableCopying, OFCollection,
OFFastEnumeration>
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
#ifdef OF_HAVE_BLOCKS
/**
* Executes a block for each object.
*
* \param block The block to execute for each object
*/
- (void)enumerateObjectsUsingBlock: (of_array_enumeration_block_t)block;
#endif
@end
@interface OFArrayEnumerator: OFEnumerator
{
OFDataArray *array;
size_t count;
|
>
>
>
>
>
>
>
>
>
>
|
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
#ifdef OF_HAVE_BLOCKS
/**
* Executes a block for each object.
*
* \param block The block to execute for each object
*/
- (void)enumerateObjectsUsingBlock: (of_array_enumeration_block_t)block;
/**
* Returns a new array, only containing the objects for which the block returns
* YES.
*
* \param block A block which determines if the object should be in the new
* array
* \return A new, autoreleased OFArray
*/
- (OFArray*)filteredArrayUsingBlock: (of_array_filter_block_t)block;
#endif
@end
@interface OFArrayEnumerator: OFEnumerator
{
OFDataArray *array;
size_t count;
|