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 <Cocoa/Cocoa.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