std::vector<Symbol*>* clone_symbols(const std::vector<Symbol*>* pvecSyms, unsigned int iBegin=0) { if(!pvecSyms) return 0; std::vector<Symbol*> *pvec = new std::vector<Symbol*>; pvec->reserve(pvecSyms->size()); for(unsigned int i=iBegin; i<pvecSyms->size(); ++i) { Symbol *pSym = (*pvecSyms)[i]; if(pSym) pSym = pSym->clone(); pvec->push_back(pSym); } return pvec; }