mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
Improve iterator usage.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5528 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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 */
|
||||
|
@ -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())
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -357,7 +357,7 @@ CNANDContentManager::~CNANDContentManager()
|
||||
while (itr != m_Map.end())
|
||||
{
|
||||
delete itr->second;
|
||||
itr++;
|
||||
++itr;
|
||||
}
|
||||
m_Map.clear();
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user