17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
@class OFArray;
#ifdef OF_HAVE_BLOCKS
typedef void (^of_dictionary_enumeration_block_t)(id key, id obj, BOOL *stop);
#endif
/// \cond internal
struct of_dictionary_bucket
{
id <OFCopying> key;
id object;
uint32_t hash;
};
/// \endcond
/**
* \brief A class for storing objects in a hash table.
*/
@interface OFDictionary: OFObject <OFCopying, OFMutableCopying, OFCollection,
OFFastEnumeration>
{
|
<
<
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
@class OFArray;
#ifdef OF_HAVE_BLOCKS
typedef void (^of_dictionary_enumeration_block_t)(id key, id obj, BOOL *stop);
#endif
struct of_dictionary_bucket
{
id <OFCopying> key;
id object;
uint32_t hash;
};
/**
* \brief A class for storing objects in a hash table.
*/
@interface OFDictionary: OFObject <OFCopying, OFMutableCopying, OFCollection,
OFFastEnumeration>
{
|
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
* \param block The block to execute for each key / object pair.
*/
- (void)enumerateKeysAndObjectsUsingBlock:
(of_dictionary_enumeration_block_t)block;
#endif
@end
/// \cond internal
@interface OFDictionaryEnumerator: OFEnumerator
{
struct of_dictionary_bucket **data;
uint32_t size;
unsigned long mutations;
unsigned long *mutationsPtr;
uint32_t pos;
}
- initWithData: (struct of_dictionary_bucket**)data
size: (uint32_t)size
mutationsPointer: (unsigned long*)mutations_ptr;
@end
@interface OFDictionaryObjectEnumerator: OFDictionaryEnumerator
@end
@interface OFDictionaryKeyEnumerator: OFDictionaryEnumerator
@end
/// \endcond
#import "OFMutableDictionary.h"
extern struct of_dictionary_bucket of_dictionary_deleted_bucket;
|
<
<
|
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
* \param block The block to execute for each key / object pair.
*/
- (void)enumerateKeysAndObjectsUsingBlock:
(of_dictionary_enumeration_block_t)block;
#endif
@end
@interface OFDictionaryEnumerator: OFEnumerator
{
struct of_dictionary_bucket **data;
uint32_t size;
unsigned long mutations;
unsigned long *mutationsPtr;
uint32_t pos;
}
- initWithData: (struct of_dictionary_bucket**)data
size: (uint32_t)size
mutationsPointer: (unsigned long*)mutations_ptr;
@end
@interface OFDictionaryObjectEnumerator: OFDictionaryEnumerator
@end
@interface OFDictionaryKeyEnumerator: OFDictionaryEnumerator
@end
#import "OFMutableDictionary.h"
extern struct of_dictionary_bucket of_dictionary_deleted_bucket;
|