aboutsummaryrefslogtreecommitdiff
path: root/antlr-3.4/runtime/ObjC/Framework/AMutableDictionary.h
blob: d47209e7a501e9868befb3969e732e5bfc6194d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//
//  AMutableDictionary.h
//  ST4
//
//  Created by Alan Condit on 4/18/11.
//  Copyright 2011 Alan Condit. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ACBTree.h"
#import "ArrayIterator.h"

@class ACBTree;
@class ArrayIterator;

@interface AMutableDictionary : NSMutableDictionary {

    __strong ACBTree  *root;
    NSInteger nodes_av;
    NSInteger nodes_inuse;
    NSInteger nxt_nodeid;
    NSUInteger count;
    __strong NSMutableData *data;
    __strong id       *ptrBuffer;
}

@property (retain) ACBTree  *root;
@property (assign) NSInteger nodes_av;
@property (assign) NSInteger nodes_inuse;
@property (assign) NSInteger nxt_nodeid;
@property (assign, readonly, getter=count) NSUInteger count;
@property (assign) NSMutableData *data;
@property (assign) id       *ptrBuffer;

+ (AMutableDictionary *) newDictionary;
+ (AMutableDictionary *) dictionaryWithCapacity;

- (id) init;
- (id) initWithCapacity:(NSUInteger)numItems;
- (void) dealloc;

- (BOOL) isEqual:(id)object;
- (id) objectForKey:(id)aKey;
- (void) setObject:(id)obj forKey:(id)aKey;
- (void) removeObjectForKey:(id)aKey;

- (NSUInteger) count;

- (NSArray *) allKeys;
- (NSArray *) allValues;
- (ArrayIterator *) keyEnumerator;
- (ArrayIterator *) objectEnumerator;

- (void) clear;
- (void) removeAllObjects;
- (NSInteger) nextNodeId;
- (NSArray *) toKeyArray;
- (NSArray *) toValueArray;

@end