• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 //  AMutableDictionary.h
3 //  ST4
4 //
5 //  Created by Alan Condit on 4/18/11.
6 //  Copyright 2011 Alan Condit. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "ACBTree.h"
11 #import "ArrayIterator.h"
12 
13 @class ACBTree;
14 @class ArrayIterator;
15 
16 @interface AMutableDictionary : NSMutableDictionary {
17 
18     __strong ACBTree  *root;
19     NSInteger nodes_av;
20     NSInteger nodes_inuse;
21     NSInteger nxt_nodeid;
22     NSUInteger count;
23     __strong NSMutableData *data;
24     __strong id       *ptrBuffer;
25 }
26 
27 @property (retain) ACBTree  *root;
28 @property (assign) NSInteger nodes_av;
29 @property (assign) NSInteger nodes_inuse;
30 @property (assign) NSInteger nxt_nodeid;
31 @property (assign, readonly, getter=count) NSUInteger count;
32 @property (assign) NSMutableData *data;
33 @property (assign) id       *ptrBuffer;
34 
35 + (AMutableDictionary *) newDictionary;
36 + (AMutableDictionary *) dictionaryWithCapacity;
37 
38 - (id) init;
39 - (id) initWithCapacity:(NSUInteger)numItems;
40 - (void) dealloc;
41 
42 - (BOOL) isEqual:(id)object;
43 - (id) objectForKey:(id)aKey;
44 - (void) setObject:(id)obj forKey:(id)aKey;
45 - (void) removeObjectForKey:(id)aKey;
46 
47 - (NSUInteger) count;
48 
49 - (NSArray *) allKeys;
50 - (NSArray *) allValues;
51 - (ArrayIterator *) keyEnumerator;
52 - (ArrayIterator *) objectEnumerator;
53 
54 - (void) clear;
55 - (void) removeAllObjects;
56 - (NSInteger) nextNodeId;
57 - (NSArray *) toKeyArray;
58 - (NSArray *) toValueArray;
59 
60 @end
61