bool GenPrototype::restoreGene(FILE* f, RESTORE_GA_GENE* gene, std::vector<Gen*>& storage) { IValue* value = m_randomStrategy->getRandomValue(); Gen* gen; if(!value->restore(f)) return false; gen = new Gen(this,gene->ID); gen->setValue(value); //make sure that the genes are in the right order //SingletonGenEngine::getInstance()->addGen(gen); if(storage.size()<=(unsigned int)gene->ID) storage.resize(gene->ID+1); storage[gene->ID]=gen; return true; }