void Base::setBaseLocation(Base* base, string location) { string oldLocation; oldLocation = getBaseLocation(base); if (oldLocation == "") return; baseLocations->erase(oldLocation); (*baseLocations)[location] = base; }
bool Base::removeBase( Base* base ) { std::string alias, location; alias = getBaseAlias( base ); location = getBaseLocation( base ); std::vector<Base*>::iterator i; i = std::find( baseSet.begin(), baseSet.end(), base ); if (i != baseSet.end()) { baseSet.erase( i ); if (alias != "") { baseAliases->erase( alias ); } baseLocations->erase( location ); return true; } return false; }
bool Base::removeBase(Base* base) { string alias, location; alias = getBaseAlias(base); location = getBaseLocation(base); vector<Base*>::iterator i; for (i=baseSet->begin(); i!=baseSet->end(); ++i) { if (*i == base) { baseSet->erase(i); if (alias != "") { baseAliases->erase(alias); } baseLocations->erase(location); return true; } } return false; }