76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
for (i = 0; i < size; i++)
if (data[i] != nil)
[data[i] release];
return [super free];
}
- set: (OFObject*)key
to: (OFObject*)obj
{
uint32_t hash = [key hash] & (size - 1);
of_list_object_t *iter;
if (data[hash] == nil)
data[hash] = [OFList new];
|
|
|
|
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
for (i = 0; i < size; i++)
if (data[i] != nil)
[data[i] release];
return [super free];
}
- set: (id <OFHashable, OFRetainRelease>)key
to: (id <OFRetainRelease>)obj
{
uint32_t hash = [key hash] & (size - 1);
of_list_object_t *iter;
if (data[hash] == nil)
data[hash] = [OFList new];
|
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
[data[hash] append: key];
[data[hash] append: obj];
return self;
}
- get: (OFObject*)key
{
uint32_t hash = [key hash] & (size - 1);
of_list_object_t *iter;
if (data[hash] == nil)
return nil;
for (iter = [data[hash] first]; iter != NULL; iter = iter->next->next)
if ([iter->object isEqual: key])
return iter->next->object;
return nil;
}
- remove: (OFObject*)key
{
uint32_t hash = [key hash] & (size - 1);
of_list_object_t *iter;
if (data[hash] == nil)
return self; // FIXME: Throw exception?
|
|
|
|
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
[data[hash] append: key];
[data[hash] append: obj];
return self;
}
- get: (id <OFHashable>)key
{
uint32_t hash = [key hash] & (size - 1);
of_list_object_t *iter;
if (data[hash] == nil)
return nil;
for (iter = [data[hash] first]; iter != NULL; iter = iter->next->next)
if ([iter->object isEqual: key])
return iter->next->object;
return nil;
}
- remove: (id <OFHashable, OFRetainRelease>)key
{
uint32_t hash = [key hash] & (size - 1);
of_list_object_t *iter;
if (data[hash] == nil)
return self; // FIXME: Throw exception?
|