mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-12 08:06:08 +00:00
CAiFuncMap: Store std::string_view instances instead of std::string
We only make use of static string entries, so we can make use of std::string view to elide several memory allocations.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <unordered_map>
|
||||
|
||||
namespace urde {
|
||||
@@ -13,12 +13,12 @@ using CAiStateFunc = void (CAi::*)(CStateManager&, EStateMsg, float);
|
||||
using CAiTriggerFunc = bool (CAi::*)(CStateManager&, float);
|
||||
|
||||
class CAiFuncMap {
|
||||
std::unordered_map<std::string, CAiStateFunc> x0_stateFuncs;
|
||||
std::unordered_map<std::string, CAiTriggerFunc> x10_triggerFuncs;
|
||||
std::unordered_map<std::string_view, CAiStateFunc> x0_stateFuncs;
|
||||
std::unordered_map<std::string_view, CAiTriggerFunc> x10_triggerFuncs;
|
||||
|
||||
public:
|
||||
CAiFuncMap();
|
||||
CAiStateFunc GetStateFunc(const char*) const;
|
||||
CAiTriggerFunc GetTriggerFunc(const char*) const;
|
||||
CAiStateFunc GetStateFunc(std::string_view func) const;
|
||||
CAiTriggerFunc GetTriggerFunc(std::string_view func) const;
|
||||
};
|
||||
} // namespace urde
|
||||
|
||||
Reference in New Issue
Block a user