︙ | | | ︙ | |
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
[OFMutableDictionary_hashtable class]])
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
hashtable = (OFDictionary_hashtable*)dictionary;
data = [self allocMemoryForNItems: hashtable->size
withSize: sizeof(*data)];
for (i = 0; i < hashtable->size; i++)
data[i] = NULL;
size = hashtable->size;
count = hashtable->count;
|
|
|
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
[OFMutableDictionary_hashtable class]])
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
hashtable = (OFDictionary_hashtable*)dictionary;
data = [self allocMemoryForNItems: hashtable->size
ofSize: sizeof(*data)];
for (i = 0; i < hashtable->size; i++)
data[i] = NULL;
size = hashtable->size;
count = hashtable->count;
|
︙ | | | ︙ | |
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
for (newSize = 1; newSize < count; newSize <<= 1);
if (newSize == 0)
@throw [OFOutOfRangeException newWithClass: isa];
data = [self allocMemoryForNItems: newSize
withSize: sizeof(*data)];
for (i = 0; i < newSize; i++)
data[i] = NULL;
size = newSize;
pool = [[OFAutoreleasePool alloc] init];
|
|
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
for (newSize = 1; newSize < count; newSize <<= 1);
if (newSize == 0)
@throw [OFOutOfRangeException newWithClass: isa];
data = [self allocMemoryForNItems: newSize
ofSize: sizeof(*data)];
for (i = 0; i < newSize; i++)
data[i] = NULL;
size = newSize;
pool = [[OFAutoreleasePool alloc] init];
|
︙ | | | ︙ | |
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
struct of_dictionary_hashtable_bucket *bucket;
if (key == nil || object == nil)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
data = [self allocMemoryForNItems: 2
withSize: sizeof(*data)];
size = 2;
for (i = 0; i < size; i++)
data[i] = NULL;
i = [key hash] & 1;
|
|
|
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
struct of_dictionary_hashtable_bucket *bucket;
if (key == nil || object == nil)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
data = [self allocMemoryForNItems: 2
ofSize: sizeof(*data)];
size = 2;
for (i = 0; i < size; i++)
data[i] = NULL;
i = [key hash] & 1;
|
︙ | | | ︙ | |
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
for (newSize = 1; newSize < count; newSize <<= 1);
if (newSize == 0)
@throw [OFOutOfRangeException newWithClass: isa];
data = [self allocMemoryForNItems: newSize
withSize: sizeof(*data)];
for (j = 0; j < newSize; j++)
data[j] = NULL;
size = newSize;
for (i = 0; i < count; i++) {
|
|
|
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
for (newSize = 1; newSize < count; newSize <<= 1);
if (newSize == 0)
@throw [OFOutOfRangeException newWithClass: isa];
data = [self allocMemoryForNItems: newSize
ofSize: sizeof(*data)];
for (j = 0; j < newSize; j++)
data[j] = NULL;
size = newSize;
for (i = 0; i < count; i++) {
|
︙ | | | ︙ | |
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
|
for (newSize = 1; newSize < count; newSize <<= 1);
if (newSize == 0)
@throw [OFOutOfRangeException newWithClass: isa];
data = [self allocMemoryForNItems: newSize
withSize: sizeof(*data)];
for (j = 0; j < newSize; j++)
data[j] = NULL;
size = newSize;
/* Add first key / object pair */
|
|
|
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
|
for (newSize = 1; newSize < count; newSize <<= 1);
if (newSize == 0)
@throw [OFOutOfRangeException newWithClass: isa];
data = [self allocMemoryForNItems: newSize
ofSize: sizeof(*data)];
for (j = 0; j < newSize; j++)
data[j] = NULL;
size = newSize;
/* Add first key / object pair */
|
︙ | | | ︙ | |
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
|
return NO;
}
- (OFArray*)allKeys
{
OFArray *ret;
id *cArray = [self allocMemoryForNItems: count
withSize: sizeof(id)];
size_t i, j;
for (i = j = 0; i < size; i++)
if (data[i] != NULL && data[i] != DELETED)
cArray[j++] = data[i]->key;
assert(j == count);
|
|
|
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
|
return NO;
}
- (OFArray*)allKeys
{
OFArray *ret;
id *cArray = [self allocMemoryForNItems: count
ofSize: sizeof(id)];
size_t i, j;
for (i = j = 0; i < size; i++)
if (data[i] != NULL && data[i] != DELETED)
cArray[j++] = data[i]->key;
assert(j == count);
|
︙ | | | ︙ | |
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
|
return ret;
}
- (OFArray*)allObjects
{
OFArray *ret;
id *cArray = [self allocMemoryForNItems: count
withSize: sizeof(id)];
size_t i, j;
for (i = j = 0; i < size; i++)
if (data[i] != NULL && data[i] != DELETED)
cArray[j++] = data[i]->object;
assert(j == count);
|
|
|
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
|
return ret;
}
- (OFArray*)allObjects
{
OFArray *ret;
id *cArray = [self allocMemoryForNItems: count
ofSize: sizeof(id)];
size_t i, j;
for (i = j = 0; i < size; i++)
if (data[i] != NULL && data[i] != DELETED)
cArray[j++] = data[i]->object;
assert(j == count);
|
︙ | | | ︙ | |