181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
{
self = [super init];
@try {
if (itemSize == 0)
@throw [OFInvalidArgumentException exception];
_items = (char *)items;
_itemSize = itemSize;
_count = count;
_freeWhenDone = freeWhenDone;
} @catch (id e) {
[self release];
@throw e;
}
|
|
|
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
{
self = [super init];
@try {
if (itemSize == 0)
@throw [OFInvalidArgumentException exception];
_items = (unsigned char *)items;
_itemSize = itemSize;
_count = count;
_freeWhenDone = freeWhenDone;
} @catch (id e) {
[self release];
@throw e;
}
|
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
|
}
- (const void *)items
{
return _items;
}
- (const void *)itemAtIndex: (size_t)index
{
if (index >= _count)
@throw [OFOutOfRangeException exception];
return _items + index * _itemSize;
}
- (const void *)firstItem
{
if (_items == NULL || _count == 0)
return NULL;
|
|
|
|
|
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
|
}
- (const void *)items
{
return _items;
}
- (const void *)itemAtIndex: (size_t)idx
{
if (idx >= _count)
@throw [OFOutOfRangeException exception];
return _items + idx * _itemSize;
}
- (const void *)firstItem
{
if (_items == NULL || _count == 0)
return NULL;
|