예제 #1
0
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;
}