1 // 2 // AMutableArray.h 3 // a_ST4 4 // 5 // Created by Alan Condit on 3/12/11. 6 // Copyright 2011 Alan's MachineWorks. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 #import "ArrayIterator.h" 11 12 @class ArrayIterator; 13 14 @interface AMutableArray : NSMutableArray { 15 NSInteger BuffSize; 16 NSInteger count; 17 __strong NSMutableData *buffer; 18 __strong id *ptrBuffer; 19 } 20 21 + (id) newArray; 22 + (id) arrayWithCapacity:(NSInteger)size; 23 24 - (id) init; 25 - (id) initWithCapacity:(NSInteger)size; 26 - (id) copyWithZone:(NSZone *)aZone; 27 28 - (void) addObject:(id)anObject; 29 - (void) addObjectsFromArray:(NSArray *)anArray; 30 - (id) objectAtIndex:(NSInteger)anIdx; 31 - (void) insertObject:(id)anObject atIndex:(NSInteger)anIdx; 32 - (void) removeAllObjects; 33 - (void) removeLastObject; 34 - (void) removeObjectAtIndex:(NSInteger)idx; 35 - (void) replaceObjectAtIndex:(NSInteger)idx withObject:(id)obj; 36 - (NSInteger) count; 37 - (void)setCount:(NSInteger)cnt; 38 //- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; 39 - (NSArray *) allObjects; 40 - (ArrayIterator *) objectEnumerator; 41 - (void) ensureCapacity:(NSInteger) index; 42 - (NSString *) description; 43 - (NSString *) toString; 44 45 @property (assign) NSInteger BuffSize; 46 @property (assign, getter=count, setter=setCount:) NSInteger count; 47 @property (retain) NSMutableData *buffer; 48 @property (assign) id *ptrBuffer; 49 50 @end 51