aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules.cpp
diff options
context:
space:
mode:
authorGravatar Attila Molnar2014-11-01 18:17:04 +0100
committerGravatar Attila Molnar2014-11-01 18:17:04 +0100
commitfbc73e20784b055485f676096e758d6aeed62e0c (patch)
tree8251c8473af414527becb989558a69c4e7dc49b4 /src/modules.cpp
parentRemove if (!this) check from ConfigTag::readString() (diff)
downloadinspircd++-fbc73e20784b055485f676096e758d6aeed62e0c.tar.gz
inspircd++-fbc73e20784b055485f676096e758d6aeed62e0c.tar.bz2
inspircd++-fbc73e20784b055485f676096e758d6aeed62e0c.zip
Add stdalgo::erase() and use it to simplify code
Diffstat (limited to 'src/modules.cpp')
-rw-r--r--src/modules.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index 0a5a8a702..4c0af3bac 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -165,12 +165,7 @@ ServiceProvider::ServiceProvider(Module* Creator, const std::string& Name, Servi
void ServiceProvider::DisableAutoRegister()
{
if ((ServerInstance) && (ServerInstance->Modules->NewServices))
- {
- ModuleManager::ServiceList& list = *ServerInstance->Modules->NewServices;
- ModuleManager::ServiceList::iterator it = std::find(list.begin(), list.end(), this);
- if (it != list.end())
- list.erase(it);
- }
+ stdalgo::erase(*ServerInstance->Modules->NewServices, this);
}
ModuleManager::ModuleManager()
@@ -192,13 +187,7 @@ bool ModuleManager::Attach(Implementation i, Module* mod)
bool ModuleManager::Detach(Implementation i, Module* mod)
{
- EventHandlerIter x = std::find(EventHandlers[i].begin(), EventHandlers[i].end(), mod);
-
- if (x == EventHandlers[i].end())
- return false;
-
- EventHandlers[i].erase(x);
- return true;
+ return stdalgo::erase(EventHandlers[i], mod);
}
void ModuleManager::Attach(Implementation* i, Module* mod, size_t sz)