15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
+
|
#import "OFCollection.h"
#import "OFEnumerator.h"
@class OFArray;
#ifdef OF_HAVE_BLOCKS
typedef void (^of_dictionary_enumeration_block_t)(id key, id obj, BOOL *stop);
typedef BOOL (^of_dictionary_filter_block_t)(id key, id obj);
#endif
struct of_dictionary_bucket
{
id <OFCopying> key;
id object;
uint32_t hash;
|
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
+
+
+
+
+
+
+
+
+
+
+
|
/**
* Executes a block for each key / object pair.
*
* \param block The block to execute for each key / object pair.
*/
- (void)enumerateKeysAndObjectsUsingBlock:
(of_dictionary_enumeration_block_t)block;
/**
* Returns a new dictionary, only containing the objects for which the block
* returns YES.
*
* \param block A block which determines if the object should be in the new
* dictionary
* \return A new, autoreleased OFDictionary
*/
- (OFDictionary*)filteredDictionaryUsingBlock:
(of_dictionary_filter_block_t)block;
#endif
@end
@interface OFDictionaryEnumerator: OFEnumerator
{
struct of_dictionary_bucket **data;
uint32_t size;
|