diff --git a/indra/llappearance/llpolymesh.h b/indra/llappearance/llpolymesh.h index 8f91d1585cacb49826bcddbf6655c2f20ef8a98c..92db781aa442bbb0e094deec275d6b84317b78d4 100644 --- a/indra/llappearance/llpolymesh.h +++ b/indra/llappearance/llpolymesh.h @@ -357,7 +357,7 @@ class LLPolyMesh LLPolyMesh *mReferenceMesh; // global mesh list - typedef std::map<std::string, LLPolyMeshSharedData*> LLPolyMeshSharedDataTable; + typedef boost::unordered_flat_map<std::string, LLPolyMeshSharedData*, al::string_hash, std::equal_to<>> LLPolyMeshSharedDataTable; static LLPolyMeshSharedDataTable sGlobalSharedMeshList; // Backlink only; don't make this an LLPointer. diff --git a/indra/llcommon/llevents.h b/indra/llcommon/llevents.h index 1f0c310ddc1d25ec71785eb7b4c7168ca1a1c50f..f9b831728ceba590a45bc7f51578e3604f046120 100644 --- a/indra/llcommon/llevents.h +++ b/indra/llcommon/llevents.h @@ -348,7 +348,7 @@ class LL_COMMON_API LLEventPumps final : public LLSingleton<LLEventPumps>, // LLEventPump subclass statically, as a class member, on the stack or on // the heap. In such cases, the instantiating party is responsible for its // lifespan. - typedef boost::unordered_map<std::string, LLEventPump*> PumpMap; + typedef std::map<std::string, LLEventPump*, std::less<>> PumpMap; PumpMap mPumpMap; // Set of all LLEventPumps we instantiated. Membership in this set means // we claim ownership, and will delete them when this LLEventPumps is @@ -356,7 +356,7 @@ class LL_COMMON_API LLEventPumps final : public LLSingleton<LLEventPumps>, typedef boost::unordered_set<LLEventPump*> PumpSet; PumpSet mOurPumps; // for make(), map string type name to LLEventPump subclass factory function - typedef boost::unordered_map<std::string, TypeFactory> TypeFactories; + typedef boost::unordered_map<std::string, TypeFactory, al::string_hash, std::equal_to<>> TypeFactories; // Data used by make(). // One might think mFactories and mTypes could reasonably be static. So // they could -- if not for the fact that make() or obtain() might be @@ -366,7 +366,7 @@ class LL_COMMON_API LLEventPumps final : public LLSingleton<LLEventPumps>, // for obtain(), map desired string instance name to string type when // obtain() must create the instance - typedef boost::unordered_map<std::string, std::string> InstanceTypes; + typedef boost::unordered_map<std::string, std::string, al::string_hash, std::equal_to<>> InstanceTypes; InstanceTypes mTypes; }; @@ -607,7 +607,7 @@ class LL_COMMON_API LLEventPump: public LLEventTrackable /// Map of named listeners. This tracks the listeners that actually exist /// at this moment. When we stopListening(), we discard the entry from /// this map. - typedef boost::unordered_map<std::string, boost::signals2::connection> ConnectionMap; + typedef boost::unordered_map<std::string, boost::signals2::connection, al::string_hash, std::equal_to<>> ConnectionMap; ConnectionMap mConnections; typedef LLDependencies<std::string, float> DependencyMap; /// Dependencies between listeners. For each listener, track the float diff --git a/indra/llui/llemojidictionary.h b/indra/llui/llemojidictionary.h index 80dba6e3e02769c9a719fd7504704222d14e89a0..d085f7c12dbe96392480b4a6584e65c4a44961c3 100644 --- a/indra/llui/llemojidictionary.h +++ b/indra/llui/llemojidictionary.h @@ -81,11 +81,11 @@ class LLEmojiDictionary : public LLParamSingleton<LLEmojiDictionary>, public LLI ~LLEmojiDictionary() override {}; public: - typedef boost::unordered_map<std::string, std::string> cat2cat_map_t; - typedef boost::unordered_map<std::string, const LLEmojiGroup*> cat2group_map_t; + typedef boost::unordered_map<std::string, std::string, al::string_hash, std::equal_to<>> cat2cat_map_t; + typedef boost::unordered_map<std::string, const LLEmojiGroup*, al::string_hash, std::equal_to<>> cat2group_map_t; typedef boost::unordered_map<llwchar, const LLEmojiDescriptor*> emoji2descr_map_t; - typedef boost::unordered_map<std::string, const LLEmojiDescriptor*> code2descr_map_t; - typedef boost::unordered_map<std::string, std::vector<const LLEmojiDescriptor*>> cat2descrs_map_t; + typedef boost::unordered_map<std::string, const LLEmojiDescriptor*, al::string_hash, std::equal_to<>> code2descr_map_t; + typedef boost::unordered_map<std::string, std::vector<const LLEmojiDescriptor*>, al::string_hash, std::equal_to<>> cat2descrs_map_t; static void initClass(); LLWString findMatchingEmojis(const std::string& needle) const;