mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
Instead of a vector of vectors, use an array of vectors as in the original spec on Development/Hooking.
This is faster, as only the inner list resizes, and this avoids calls to std::vector::operator[] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8531 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
fe54be35fc
commit
a3b4110d51
@ -1521,10 +1521,6 @@ typedef DLLFactory<Module> ircd_module;
|
|||||||
*/
|
*/
|
||||||
typedef std::vector<Module*> IntModuleList;
|
typedef std::vector<Module*> IntModuleList;
|
||||||
|
|
||||||
/** A list of event handlers
|
|
||||||
*/
|
|
||||||
typedef std::vector<IntModuleList> EventHandlerList;
|
|
||||||
|
|
||||||
/** An event handler iterator
|
/** An event handler iterator
|
||||||
*/
|
*/
|
||||||
typedef IntModuleList::iterator EventHandlerIter;
|
typedef IntModuleList::iterator EventHandlerIter;
|
||||||
@ -1576,7 +1572,7 @@ class CoreExport ModuleManager : public classbase
|
|||||||
/** Event handler hooks.
|
/** Event handler hooks.
|
||||||
* This needs to be public to be used by FOREACH_MOD and friends.
|
* This needs to be public to be used by FOREACH_MOD and friends.
|
||||||
*/
|
*/
|
||||||
EventHandlerList EventHandlers;
|
IntModuleList EventHandlers[I_END];
|
||||||
|
|
||||||
/** Simple, bog-standard, boring constructor.
|
/** Simple, bog-standard, boring constructor.
|
||||||
*/
|
*/
|
||||||
|
@ -191,8 +191,6 @@ void Module::OnText(User*, void*, int, const std::string&, char, CUList&) { }
|
|||||||
|
|
||||||
ModuleManager::ModuleManager(InspIRCd* Ins) : ModCount(0), Instance(Ins)
|
ModuleManager::ModuleManager(InspIRCd* Ins) : ModCount(0), Instance(Ins)
|
||||||
{
|
{
|
||||||
for (int n = I_BEGIN; n != I_END; ++n)
|
|
||||||
EventHandlers.push_back(std::vector<Module*>());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ModuleManager::~ModuleManager()
|
ModuleManager::~ModuleManager()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user