Improve iterator usage.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5528 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Jordan Woyak
2010-05-28 23:14:16 +00:00
parent 0d75190af9
commit ceabf90bda
21 changed files with 1132 additions and 1153 deletions

View File

@ -15,6 +15,8 @@
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#include <algorithm>
#include "LogManager.h"
#include "ConsoleListener.h"
#include "Timer.h"
@ -160,28 +162,19 @@ void LogContainer::addListener(LogListener *listener) {
}
void LogContainer::removeListener(LogListener *listener) {
std::vector<LogListener *>::iterator i;
for(i = listeners.begin(); i != listeners.end(); i++) {
if ((*i) == listener) {
listeners.erase(i);
break;
}
}
std::vector<LogListener *>::iterator i = std::find(listeners.begin(), listeners.end(), listener);
if (listeners.end() != i)
listeners.erase(i);
}
bool LogContainer::isListener(LogListener *listener) const {
std::vector<LogListener *>::const_iterator i;
for (i = listeners.begin(); i != listeners.end(); i++) {
if ((*i) == listener) {
return true;
}
}
return false;
std::vector<LogListener *>::const_iterator i = std::find(listeners.begin(), listeners.end(), listener);
return listeners.end() != i;
}
void LogContainer::trigger(LogTypes::LOG_LEVELS level, const char *msg) {
std::vector<LogListener *>::const_iterator i;
for (i = listeners.begin(); i != listeners.end(); i++) {
for (i = listeners.begin(); i != listeners.end(); ++i) {
(*i)->Log(level, msg);
}
}

View File

@ -20,7 +20,7 @@
void SymbolDB::List()
{
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
{
DEBUG_LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls", iter->second.name.c_str(), iter->second.address, iter->second.size, iter->second.hash,iter->second.numCalls);
}
@ -37,7 +37,7 @@ void SymbolDB::Clear(const char *prefix)
void SymbolDB::Index()
{
int i = 0;
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
{
iter->second.index = i++;
}
@ -45,7 +45,7 @@ void SymbolDB::Index()
Symbol *SymbolDB::GetSymbolFromName(const char *name)
{
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
{
if (!strcmp(iter->second.name.c_str(), name))
return &iter->second;

View File

@ -587,10 +587,10 @@ void FindFunctionsAfterBLR(PPCSymbolDB *func_db)
{
vector<u32> funcAddrs;
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); iter++)
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); ++iter)
funcAddrs.push_back(iter->second.address + iter->second.size);
for (vector<u32>::iterator iter = funcAddrs.begin(); iter != funcAddrs.end(); iter++)
for (vector<u32>::iterator iter = funcAddrs.begin(); iter != funcAddrs.end(); ++iter)
{
u32 location = *iter;
while (true)
@ -622,7 +622,7 @@ void FindFunctions(u32 startAddr, u32 endAddr, PPCSymbolDB *func_db)
int numLeafs = 0, numNice = 0, numUnNice = 0;
int numTimer = 0, numRFI = 0, numStraightLeaf = 0;
int leafSize = 0, niceSize = 0, unniceSize = 0;
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); iter++)
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); ++iter)
{
if (iter->second.address == 4)
{

View File

@ -103,7 +103,7 @@ Symbol *PPCSymbolDB::GetSymbolFromAddr(u32 addr)
return &it->second;
else
{
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
{
if (addr >= iter->second.address && addr < iter->second.address + iter->second.size)
return &iter->second;
@ -123,12 +123,12 @@ const char *PPCSymbolDB::GetDescription(u32 addr)
void PPCSymbolDB::FillInCallers()
{
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
{
iter->second.callers.clear();
}
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
{
Symbol &f = iter->second;
for (size_t i = 0; i < f.calls.size(); i++)
@ -158,7 +158,7 @@ void PPCSymbolDB::PrintCalls(u32 funcAddr) const
{
const Symbol &f = iter->second;
INFO_LOG(HLE, "The function %s at %08x calls:", f.name.c_str(), f.address);
for (std::vector<SCall>::const_iterator fiter = f.calls.begin(); fiter!=f.calls.end(); fiter++)
for (std::vector<SCall>::const_iterator fiter = f.calls.begin(); fiter!=f.calls.end(); ++fiter)
{
XFuncMap::const_iterator n = functions.find(fiter->function);
if (n != functions.end())
@ -180,7 +180,7 @@ void PPCSymbolDB::PrintCallers(u32 funcAddr) const
{
const Symbol &f = iter->second;
INFO_LOG(CONSOLE,"The function %s at %08x is called by:",f.name.c_str(),f.address);
for (std::vector<SCall>::const_iterator fiter = f.callers.begin(); fiter != f.callers.end(); fiter++)
for (std::vector<SCall>::const_iterator fiter = f.callers.begin(); fiter != f.callers.end(); ++fiter)
{
XFuncMap::const_iterator n = functions.find(fiter->function);
if (n != functions.end())
@ -306,7 +306,7 @@ bool PPCSymbolDB::SaveMap(const char *filename, bool WithCodes) const
{
fprintf(f,"%08x %08x %08x %i %s\n", rSymbol.address, rSymbol.size, rSymbol.address,
0, rSymbol.name.c_str());
itr++;
++itr;
}
// Save a code file
@ -315,7 +315,7 @@ bool PPCSymbolDB::SaveMap(const char *filename, bool WithCodes) const
// Get the current and next address
LastAddress = rSymbol.address;
LastSymbolName = rSymbol.name;
itr++;
++itr;
/* To make nice straight lines we fill out the name with spaces, we also cut off
all names longer than 25 letters */

View File

@ -68,7 +68,7 @@ bool SignatureDB::Save(const char *filename)
}
int fcount = (int)database.size();
fwrite(&fcount, 4, 1, f);
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); iter++)
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); ++iter)
{
FuncDesc temp;
memset(&temp, 0, sizeof(temp));
@ -99,7 +99,7 @@ u32 SignatureDB::Add(u32 startAddr, u32 size, const char *name)
void SignatureDB::List()
{
for (FuncDB::iterator iter = database.begin(); iter != database.end(); iter++)
for (FuncDB::iterator iter = database.begin(); iter != database.end(); ++iter)
{
INFO_LOG(HLE,"%s : %i bytes, hash = %08x",iter->second.name.c_str(), iter->second.size, iter->first);
}
@ -113,7 +113,7 @@ void SignatureDB::Clear()
void SignatureDB::Apply(PPCSymbolDB *symbol_db)
{
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); iter++)
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); ++iter)
{
u32 hash = iter->first;
Symbol *function = symbol_db->GetSymbolFromHash(hash);
@ -138,7 +138,7 @@ void SignatureDB::Apply(PPCSymbolDB *symbol_db)
void SignatureDB::Initialize(PPCSymbolDB *symbol_db, const char *prefix)
{
std::string prefix_str(prefix);
for (PPCSymbolDB::XFuncMap::const_iterator iter = symbol_db->GetConstIterator(); iter != symbol_db->End(); iter++)
for (PPCSymbolDB::XFuncMap::const_iterator iter = symbol_db->GetConstIterator(); iter != symbol_db->End(); ++iter)
{
if ((iter->second.name.substr(0, prefix_str.size()) == prefix_str) || prefix_str.empty())
{

View File

@ -383,7 +383,7 @@ void CCodeWindow::NotifyMapLoaded()
//symbols->Show(false); // hide it for faster filling
symbols->Freeze(); // HyperIris: wx style fast filling
symbols->Clear();
for (PPCSymbolDB::XFuncMap::iterator iter = g_symbolDB.GetIterator(); iter != g_symbolDB.End(); iter++)
for (PPCSymbolDB::XFuncMap::iterator iter = g_symbolDB.GetIterator(); iter != g_symbolDB.End(); ++iter)
{
int idx = symbols->Append(wxString::FromAscii(iter->second.name.c_str()));
symbols->SetClientData(idx, (void*)&iter->second);

View File

@ -357,7 +357,7 @@ CNANDContentManager::~CNANDContentManager()
while (itr != m_Map.end())
{
delete itr->second;
itr++;
++itr;
}
m_Map.clear();
}

View File

@ -155,7 +155,7 @@ void CPatchAddEdit::AddRemoveEntry(wxCommandEvent& event)
SaveEntryData(itCurEntry);
PatchEngine::PatchEntry peEmptyEntry(PatchEngine::PATCH_8BIT, 0x00000000, 0x00000000);
itCurEntry++;
++itCurEntry;
currentItem++;
itCurEntry = tempEntries.insert(itCurEntry, peEmptyEntry);
@ -172,7 +172,7 @@ void CPatchAddEdit::AddRemoveEntry(wxCommandEvent& event)
if (itCurEntry != tempEntries.begin())
{
itCurEntry--;
--itCurEntry;
currentItem--;
}
else

View File

@ -142,12 +142,6 @@ struct TargetRectangle : public MathUtil::Rectangle<int>
#define LOG_VTX()
#ifdef _WIN32
#define ERASE_THROUGH_ITERATOR(container, iterator) iterator = container.erase(iterator)
#else
#define ERASE_THROUGH_ITERATOR(container, iterator) container.erase(iterator++)
#endif
bool IsD3D();
#endif // _VIDEOCOMMON_H