1// 2// ANTLRIntArray.h 3// ANTLR 4// 5// Copyright (c) 2010 Ian Michell 2010 Alan Condit 6// All rights reserved. 7// 8// Redistribution and use in source and binary forms, with or without 9// modification, are permitted provided that the following conditions 10// are met: 11// 1. Redistributions of source code must retain the above copyright 12// notice, this list of conditions and the following disclaimer. 13// 2. Redistributions in binary form must reproduce the above copyright 14// notice, this list of conditions and the following disclaimer in the 15// documentation and/or other materials provided with the distribution. 16// 3. The name of the author may not be used to endorse or promote products 17// derived from this software without specific prior written permission. 18// 19// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 20// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 22// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 23// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 24// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 28// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30#import <Cocoa/Cocoa.h> 31#import "ANTLRPtrBuffer.h" 32 33#define ANTLR_INT_ARRAY_INITIAL_SIZE 10 34 35@interface ANTLRIntArray : ANTLRPtrBuffer 36{ 37} 38 39+ (ANTLRIntArray *)newANTLRIntArray; 40+ (ANTLRIntArray *)newANTLRIntArrayWithLen:(NSInteger)aLen; 41 42- (id) init; 43- (id) initWithLen:(NSInteger)aLen; 44 45- (void) dealloc; 46 47- (id) copyWithZone:(NSZone *)aZone; 48 49- (void) addInteger:(NSInteger) v; 50- (void) push:(NSInteger) v; 51- (NSInteger) pop; 52- (NSInteger) integerAtIndex:(NSInteger) i; 53- (void) insertInteger:(NSInteger)anInteger AtIndex:(NSInteger) idx; 54- (NSInteger) size; 55- (void) reset; 56 57- (NSInteger) count; 58- (NSInteger) size; 59 60@end 61