ObjFW  Diff

Differences From Artifact [86943d9b76]:

To Artifact [a6ac6bcbd5]:


43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
43
44
45
46
47
48
49

50
51
52
53
54
55
56
57







-
+








static uint32_t
hash(void *value)
{
	return [(id)value hash];
}

static BOOL
static bool
equal(void *value1, void *value2)
{
	return [(id)value1 isEqual: (id)value2];
}

static of_map_table_functions_t keyFunctions = {
	.retain = retain,
250
251
252
253
254
255
256
257

258
259
260

261
262
263
264
265

266
267
268
269
270
271
272
250
251
252
253
254
255
256

257
258
259

260
261
262
263
264

265
266
267
268
269
270
271
272







-
+


-
+




-
+







}

- (size_t)count
{
	return [_mapTable count];
}

- (BOOL)containsObject: (id)object
- (bool)containsObject: (id)object
{
	if (object == nil)
		return NO;
		return false;

	return ([_mapTable valueForKey: object] != nil);
}

- (BOOL)isEqual: (id)object
- (bool)isEqual: (id)object
{
	OFSet_hashtable *set;

	if (![object isKindOfClass: [OFSet_hashtable class]] &&
	    ![object isKindOfClass: [OFMutableSet_hashtable class]] &&
	    ![object isKindOfClass: [OFCountedSet_hashtable class]])
		return [super isEqual: object];
293
294
295
296
297
298
299
300

301
302
303
304
305
306
307
308
309
310
293
294
295
296
297
298
299

300
301
302
303
304
305
306
307
308
309
310







-
+










}

#ifdef OF_HAVE_BLOCKS
- (void)enumerateObjectsUsingBlock: (of_set_enumeration_block_t)block
{
	@try {
		[_mapTable enumerateKeysAndValuesUsingBlock:
		    ^ (void *key, void *value, BOOL *stop) {
		    ^ (void *key, void *value, bool *stop) {
			block(key, stop);
		}];
	} @catch (OFEnumerationMutationException *e) {
		@throw [OFEnumerationMutationException
		    exceptionWithClass: [self class]
				object: self];
	}
}
#endif
@end