void AIList::KeepList(AIList *list) { this->modifications++; AIList tmp; for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) { tmp.AddItem((*iter).first); tmp.SetValue((*iter).first, (*iter).second); } tmp.RemoveList(list); this->RemoveList(&tmp); }
/* static */ AIList *AIIndustryType::GetAcceptedCargo(IndustryType industry_type) { if (!IsValidIndustryType(industry_type)) return NULL; const IndustrySpec *ins = ::GetIndustrySpec(industry_type); AIList *list = new AIList(); for (size_t i = 0; i < lengthof(ins->accepts_cargo); i++) { if (ins->accepts_cargo[i] != CT_INVALID) list->AddItem(ins->accepts_cargo[i]); } return list; }