[7123] Cleanup in using STD's containers erase method.

Signed-off-by: ApoC <apoc@nymfe.net>
This commit is contained in:
Balrok 2009-01-20 20:04:12 +01:00 committed by ApoC
parent 8171c9c61a
commit ce384c5278
9 changed files with 23 additions and 69 deletions

View file

@ -82,20 +82,12 @@ class AuctionHouseObject
AuctionEntry* GetAuction(uint32 id) const AuctionEntry* GetAuction(uint32 id) const
{ {
AuctionEntryMap::const_iterator itr = AuctionsMap.find( id ); AuctionEntryMap::const_iterator itr = AuctionsMap.find( id );
if( itr != AuctionsMap.end() ) return itr != AuctionsMap.end() ? itr->second : NULL;
return itr->second;
return NULL;
} }
bool RemoveAuction(uint32 id) bool RemoveAuction(uint32 id)
{ {
AuctionEntryMap::iterator i = AuctionsMap.find(id); return AuctionsMap.erase(id) ? true : false;
if (i == AuctionsMap.end())
{
return false;
}
AuctionsMap.erase(i);
return true;
} }
private: private:

View file

@ -274,22 +274,6 @@ ObjectAccessor::UpdateObject(Object* obj, Player* exceptPlayer)
} }
} }
void
ObjectAccessor::AddUpdateObject(Object *obj)
{
Guard guard(i_updateGuard);
i_objects.insert(obj);
}
void
ObjectAccessor::RemoveUpdateObject(Object *obj)
{
Guard guard(i_updateGuard);
std::set<Object *>::iterator iter = i_objects.find(obj);
if( iter != i_objects.end() )
i_objects.erase( iter );
}
void void
ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players) ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players)
{ {

View file

@ -57,9 +57,7 @@ class HashMapHolder
static void Remove(T* o) static void Remove(T* o)
{ {
Guard guard(i_lock); Guard guard(i_lock);
typename MapType::iterator itr = m_objectMap.find(o->GetGUID()); m_objectMap.erase(o->GetGUID());
if (itr != m_objectMap.end())
m_objectMap.erase(itr);
} }
static T* Find(uint64 guid) static T* Find(uint64 guid)
@ -174,16 +172,22 @@ class MANGOS_DLL_DECL ObjectAccessor : public MaNGOS::Singleton<ObjectAccessor,
HashMapHolder<Player>::Remove(pl); HashMapHolder<Player>::Remove(pl);
Guard guard(i_updateGuard); Guard guard(i_updateGuard);
i_objects.erase((Object *)pl);
std::set<Object *>::iterator iter2 = std::find(i_objects.begin(), i_objects.end(), (Object *)pl);
if( iter2 != i_objects.end() )
i_objects.erase(iter2);
} }
void SaveAllPlayers(); void SaveAllPlayers();
void AddUpdateObject(Object *obj); void AddUpdateObject(Object *obj)
void RemoveUpdateObject(Object *obj); {
Guard guard(i_updateGuard);
i_objects.insert(obj);
}
void RemoveUpdateObject(Object *obj)
{
Guard guard(i_updateGuard);
i_objects.erase( obj );
}
void Update(uint32 diff); void Update(uint32 diff);
void UpdatePlayers(uint32 diff); void UpdatePlayers(uint32 diff);

View file

@ -1454,10 +1454,7 @@ class MANGOS_DLL_SPEC Player : public Unit
Item* GetMItem(uint32 id) Item* GetMItem(uint32 id)
{ {
ItemMap::const_iterator itr = mMitems.find(id); ItemMap::const_iterator itr = mMitems.find(id);
if (itr != mMitems.end()) return itr != mMitems.end() ? itr->second : NULL;
return itr->second;
return NULL;
} }
void AddMItem(Item* it) void AddMItem(Item* it)
@ -1469,12 +1466,7 @@ class MANGOS_DLL_SPEC Player : public Unit
bool RemoveMItem(uint32 id) bool RemoveMItem(uint32 id)
{ {
ItemMap::iterator i = mMitems.find(id); return mMitems.erase(id) ? true : false;
if (i == mMitems.end())
return false;
mMitems.erase(i);
return true;
} }
void PetSpellInitialize(); void PetSpellInitialize();

View file

@ -180,13 +180,6 @@ SocialMgr::~SocialMgr()
} }
void SocialMgr::RemovePlayerSocial(uint32 guid)
{
SocialMap::iterator itr = m_socialMap.find(guid);
if(itr != m_socialMap.end())
m_socialMap.erase(itr);
}
void SocialMgr::GetFriendInfo(Player *player, uint32 friendGUID, FriendInfo &friendInfo) void SocialMgr::GetFriendInfo(Player *player, uint32 friendGUID, FriendInfo &friendInfo)
{ {
if(!player) if(!player)

View file

@ -141,7 +141,8 @@ class SocialMgr
SocialMgr(); SocialMgr();
~SocialMgr(); ~SocialMgr();
// Misc // Misc
void RemovePlayerSocial(uint32 guid); void RemovePlayerSocial(uint32 guid) { m_socialMap.erase(guid); }
void GetFriendInfo(Player *player, uint32 friendGUID, FriendInfo &friendInfo); void GetFriendInfo(Player *player, uint32 friendGUID, FriendInfo &friendInfo);
// Packet management // Packet management
void MakeFriendStatusPacket(FriendsResult result, uint32 friend_guid, WorldPacket *data); void MakeFriendStatusPacket(FriendsResult result, uint32 friend_guid, WorldPacket *data);

View file

@ -473,11 +473,8 @@ bool Transport::AddPassenger(Player* passenger)
bool Transport::RemovePassenger(Player* passenger) bool Transport::RemovePassenger(Player* passenger)
{ {
if (m_passengers.find(passenger) != m_passengers.end()) if (m_passengers.erase(passenger))
{
sLog.outDetail("Player %s removed from transport %s.", passenger->GetName(), m_name.c_str()); sLog.outDetail("Player %s removed from transport %s.", passenger->GetName(), m_name.c_str());
m_passengers.erase(passenger);
}
return true; return true;
} }

View file

@ -803,9 +803,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
} }
void _removeAttacker(Unit *pAttacker) // must be called only from Unit::AttackStop() void _removeAttacker(Unit *pAttacker) // must be called only from Unit::AttackStop()
{ {
AttackerSet::iterator itr = m_attackers.find(pAttacker); m_attackers.erase(pAttacker);
if(itr != m_attackers.end())
m_attackers.erase(itr);
} }
Unit * getAttackerForHelper() // If someone wants to help, who to give them Unit * getAttackerForHelper() // If someone wants to help, who to give them
{ {
@ -1240,14 +1238,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
void SetVisibleAura(uint8 slot, uint32 spellid) void SetVisibleAura(uint8 slot, uint32 spellid)
{ {
if(spellid == 0) if(spellid == 0)
{ m_visibleAuras.erase(slot);
VisibleAuraMap::iterator itr = m_visibleAuras.find(slot);
if(itr != m_visibleAuras.end())
{
m_visibleAuras.erase(itr);
return;
}
}
else else
m_visibleAuras[slot] = spellid; m_visibleAuras[slot] = spellid;
} }

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "7122" #define REVISION_NR "7123"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__