1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// AMutableArray.h 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// a_ST4 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Created by Alan Condit on 3/12/11. 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Copyright 2011 Alan's MachineWorks. All rights reserved. 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import <Cocoa/Cocoa.h> 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "ArrayIterator.h" 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@class ArrayIterator; 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@interface AMutableArray : NSMutableArray { 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger BuffSize; 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger count; 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver __strong NSMutableData *buffer; 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver __strong id *ptrBuffer; 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (id) newArray; 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (id) arrayWithCapacity:(NSInteger)size; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init; 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithCapacity:(NSInteger)size; 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) copyWithZone:(NSZone *)aZone; 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) addObject:(id)anObject; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) addObjectsFromArray:(NSArray *)anArray; 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) objectAtIndex:(NSInteger)anIdx; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) insertObject:(id)anObject atIndex:(NSInteger)anIdx; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) removeAllObjects; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) removeLastObject; 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) removeObjectAtIndex:(NSInteger)idx; 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) replaceObjectAtIndex:(NSInteger)idx withObject:(id)obj; 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSInteger) count; 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)setCount:(NSInteger)cnt; 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) allObjects; 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ArrayIterator *) objectEnumerator; 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) ensureCapacity:(NSInteger) index; 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSString *) description; 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSString *) toString; 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) NSInteger BuffSize; 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign, getter=count, setter=setCount:) NSInteger count; 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (retain) NSMutableData *buffer; 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) id *ptrBuffer; 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end 51