ANTLRBaseMapElement.h revision 324c4644fee44b9898524c09511bd33c3f12e2df
14b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis//
24b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis//  ANTLRBaseMapElement.h
34b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis//  ANTLR
44b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis//
54b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis//  Created by Alan Condit on 6/16/10.
64b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// [The "BSD licence"]
74b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// Copyright (c) 2010 Alan Condit
84b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// All rights reserved.
94b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis//
104b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// Redistribution and use in source and binary forms, with or without
114b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// modification, are permitted provided that the following conditions
124b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// are met:
134b562cf889bc59e1914dd2c5d9fbd7e7bfa1ad77Argyrios Kyrtzidis// 1. Redistributions of source code must retain the above copyright
140853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis//    notice, this list of conditions and the following disclaimer.
150853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis// 2. Redistributions in binary form must reproduce the above copyright
160853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis//    notice, this list of conditions and the following disclaimer in the
1731b87d8006d4863dd9b17e515ac720941efc38e3Daniel Dunbar//    documentation and/or other materials provided with the distribution.
180853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis// 3. The name of the author may not be used to endorse or promote products
1936c4464ba6cfc2a63dc67c493ef2f5ab2aea09ccSteve Naroff//    derived from this software without specific prior written permission.
20f96b524306ccfa623235d375deee79637bd38f29Steve Naroff//
21a88084b78fd4ca5d3d858c14b02414f8cc399f02Douglas Gregor// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
220853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23f772d1e2a5688572d07f42896a50ac57a4a41fe8Daniel Dunbar// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24f772d1e2a5688572d07f42896a50ac57a4a41fe8Daniel Dunbar// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
254db64a461cb3442934afe43c83ed3f17f7c11c1dDouglas Gregor// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
264db64a461cb3442934afe43c83ed3f17f7c11c1dDouglas Gregor// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
274db64a461cb3442934afe43c83ed3f17f7c11c1dDouglas Gregor// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
284db64a461cb3442934afe43c83ed3f17f7c11c1dDouglas Gregor// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
294db64a461cb3442934afe43c83ed3f17f7c11c1dDouglas Gregor// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
300853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
310853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis
32521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar#import <Cocoa/Cocoa.h>
33521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar#import "ANTLRLinkBase.h"
34521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar
35521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar@interface ANTLRBaseMapElement : ANTLRLinkBase {
36521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar    NSNumber *index;
37521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar}
38521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar
39521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar@property (retain, getter=getIndex, setter=setIndex:) NSNumber *index;
40521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar
41521bf9c529e653ab28896d027352d3e16e2672d5Daniel Dunbar+ (id) newANTLRBaseMapElement;
420853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis+ (id) newANTLRBaseMapElementWithIndex:(NSNumber *)anIdx;
43f96b524306ccfa623235d375deee79637bd38f29Steve Naroff- (id) init;
44f96b524306ccfa623235d375deee79637bd38f29Steve Naroff- (id) initWithAnIndex:(NSNumber *)anIdx;
450853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis
460853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis- (id) copyWithZone:(NSZone *)aZone;
470853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis
4836c4464ba6cfc2a63dc67c493ef2f5ab2aea09ccSteve Naroff- (NSNumber *)getIndex;
4936c4464ba6cfc2a63dc67c493ef2f5ab2aea09ccSteve Naroff- (void)setIndex:(NSNumber *)anIdx;
5031b87d8006d4863dd9b17e515ac720941efc38e3Daniel Dunbar
510853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis- (NSInteger)count;
520853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis- (NSInteger)size;
530853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis
540853a02c3b04d96a3c432b883e403175c954cd81Argyrios Kyrtzidis@end
55e19944c93961b7618f4f3f3185f698f46369ea54Steve Naroff