1#ifndef INC_ASTArray_hpp__ 2#define INC_ASTArray_hpp__ 3 4/* ANTLR Translator Generator 5 * Project led by Terence Parr at http://www.jGuru.com 6 * Software rights: http://www.antlr.org/license.html 7 * 8 * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/ASTArray.hpp#2 $ 9 */ 10 11#include <antlr/config.hpp> 12#include <antlr/AST.hpp> 13 14#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 15namespace antlr { 16#endif 17 18/** ASTArray is a class that allows ANTLR to 19 * generate code that can create and initialize an array 20 * in one expression, like: 21 * (new ASTArray(3))->add(x)->add(y)->add(z) 22 */ 23class ANTLR_API ASTArray { 24public: 25 int size; // = 0; 26 ANTLR_USE_NAMESPACE(std)vector<RefAST> array; 27 28 ASTArray(int capacity) 29 : size(0) 30 , array(capacity) 31 { 32 } 33 34 ASTArray* add(RefAST node) 35 { 36 array[size++] = node; 37 return this; 38 } 39}; 40 41#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 42} 43#endif 44 45#endif //INC_ASTArray_hpp__ 46