Overview
| Comment: | Improve OFDictionary. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
725b23f325c1bc2be33e429d30c9ec49 |
| User & Date: | js on 2009-12-05 16:33:51 |
| Other Links: | manifest | tags |
Context
|
2009-12-05
| ||
| 16:43 | Improve -[initWithObject:forKey:]. (check-in: 776cc1c033 user: js tags: trunk) | |
| 16:33 | Improve OFDictionary. (check-in: 725b23f325 user: js tags: trunk) | |
| 13:19 | Get rid of float in OFMutableDictionary. (check-in: 7d0a27a751 user: js tags: trunk) | |
Changes
Modified src/OFDictionary.m from [9dd77b8958] to [be94e8c683].
| ︙ | ︙ | |||
222 223 224 225 226 227 228 229 230 231 232 233 234 235 | @throw [OFInvalidArgumentException newWithClass: isa selector: _cmd]; hash = [key hash]; for (i = hash & (size - 1); i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); /* In case the last bucket is already used */ if (i >= size) for (i = 0; i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); /* Key not in dictionary */ | > > > | | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
hash = [key hash];
for (i = hash & (size - 1); i < size && data[i].key != nil &&
![data[i].key isEqual: key]; i++);
if (data[i].key == nil)
return nil;
/* In case the last bucket is already used */
if (i >= size)
for (i = 0; i < size && data[i].key != nil &&
![data[i].key isEqual: key]; i++);
/* Key not in dictionary */
if (i >= size || ![data[i].key isEqual: key])
return nil;
return data[i].object;
}
- (size_t)count
{
|
| ︙ | ︙ |
Modified src/OFMutableDictionary.m from [5b1e163002] to [e74e634938].
| ︙ | ︙ | |||
83 84 85 86 87 88 89 | /* In case the last bucket is already used */ if (i >= size) for (i = 0; i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); /* Key not in dictionary */ | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
/* In case the last bucket is already used */
if (i >= size)
for (i = 0; i < size && data[i].key != nil &&
![data[i].key isEqual: key]; i++);
/* Key not in dictionary */
if (i >= size || ![data[i].key isEqual: key]) {
resize(self, isa, count + 1, &data, &size);
i = hash & (size - 1);
for (; i < size && data[i].key != nil; i++);
/* In case the last bucket is already used */
if (i >= size)
|
| ︙ | ︙ | |||
122 123 124 125 126 127 128 129 130 131 132 133 134 135 | @throw [OFInvalidArgumentException newWithClass: isa selector: _cmd]; hash = [key hash]; for (i = hash & (size - 1); i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); /* In case the last bucket is already used */ if (i >= size) for (i = 0; i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); /* Key not in dictionary */ | > > > | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | @throw [OFInvalidArgumentException newWithClass: isa selector: _cmd]; hash = [key hash]; for (i = hash & (size - 1); i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); if (data[i].key == nil) return self; /* In case the last bucket is already used */ if (i >= size) for (i = 0; i < size && data[i].key != nil && ![data[i].key isEqual: key]; i++); /* Key not in dictionary */ if (i >= size || ![data[i].key isEqual: key]) return self; [data[i].key release]; [data[i].object release]; data[i].key = nil; count--; |
| ︙ | ︙ |