22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
forKey: (OFObject <OFCopying>*)key
{
uint32_t fullhash, hash;
of_dictionary_list_object_t *iter;
if (key == nil || obj == nil)
@throw [OFInvalidArgumentException newWithClass: isa
andSelector: _cmd];
fullhash = [key hash];
hash = fullhash & (size - 1);
if (data[hash] == nil)
data[hash] = [[OFList alloc] initWithListObjectSize:
sizeof(of_dictionary_list_object_t)];
|
|
|
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
forKey: (OFObject <OFCopying>*)key
{
uint32_t fullhash, hash;
of_dictionary_list_object_t *iter;
if (key == nil || obj == nil)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
fullhash = [key hash];
hash = fullhash & (size - 1);
if (data[hash] == nil)
data[hash] = [[OFList alloc] initWithListObjectSize:
sizeof(of_dictionary_list_object_t)];
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
- removeObjectForKey: (OFObject*)key
{
uint32_t hash;
of_dictionary_list_object_t *iter;
if (key == nil)
@throw [OFInvalidArgumentException newWithClass: isa
andSelector: _cmd];
hash = [key hash] & (size - 1);
if (data[hash] == nil)
return self;
for (iter = (of_dictionary_list_object_t*)[data[hash] first];
|
|
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
- removeObjectForKey: (OFObject*)key
{
uint32_t hash;
of_dictionary_list_object_t *iter;
if (key == nil)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
hash = [key hash] & (size - 1);
if (data[hash] == nil)
return self;
for (iter = (of_dictionary_list_object_t*)[data[hash] first];
|
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
{
OFList **newdata;
size_t newsize, i;
of_dictionary_list_object_t *iter;
if (hashsize < 8 || hashsize >= 28)
@throw [OFInvalidArgumentException newWithClass: isa
andSelector: _cmd];
newsize = (size_t)1 << hashsize;
newdata = [self allocMemoryForNItems: newsize
withSize: sizeof(OFList*)];
memset(newdata, 0, newsize * sizeof(OFList*));
for (i = 0; i < size; i++) {
|
|
|
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
{
OFList **newdata;
size_t newsize, i;
of_dictionary_list_object_t *iter;
if (hashsize < 8 || hashsize >= 28)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
newsize = (size_t)1 << hashsize;
newdata = [self allocMemoryForNItems: newsize
withSize: sizeof(OFList*)];
memset(newdata, 0, newsize * sizeof(OFList*));
for (i = 0; i < size; i++) {
|