150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
- (void *)mutableItemAtIndex: (size_t)idx
{
if (idx >= _count)
@throw [OFOutOfRangeException exception];
return _items + idx * _itemSize;
}
- (OFData *)subdataWithRange: (of_range_t)range
{
if (range.length > SIZE_MAX - range.location ||
range.location + range.length > _count)
@throw [OFOutOfRangeException exception];
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
- (void *)mutableItemAtIndex: (size_t)idx
{
if (idx >= _count)
@throw [OFOutOfRangeException exception];
return _items + idx * _itemSize;
}
- (void *)mutableFirstItem
{
if (_items == NULL || _count == 0)
return NULL;
return _items;
}
- (void *)mutableLastItem
{
if (_items == NULL || _count == 0)
return NULL;
return _items + (_count - 1) * _itemSize;
}
- (OFData *)subdataWithRange: (of_range_t)range
{
if (range.length > SIZE_MAX - range.location ||
range.location + range.length > _count)
@throw [OFOutOfRangeException exception];
|