diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-12-21 18:29:52 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-21 18:29:52 +0100 |
commit | 2c78f4dd1f52200e7061b809bb472dbcd499962e (patch) | |
tree | 14a87d6d9eff90ea9e0e298eb532241da0fcc804 /src/server/game/Globals/ObjectMgr.cpp | |
parent | 6229a6ddc11be7409646a8ac99a5ecaf1b8d37d9 (diff) |
Core/Misc: Resolve c++17 TODOs left in code as comments
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 289437620e1..1ad91d8f9c2 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -9749,10 +9749,9 @@ ObjectMgr::ScriptNameContainer::ScriptNameContainer() { // We insert an empty placeholder here so we can use the // script id 0 as dummy for "no script found". - uint32 const id = insert("", false); + [[maybe_unused]] uint32 const id = insert("", false); ASSERT(id == 0); - (void)id; } void ObjectMgr::ScriptNameContainer::reserve(size_t capacity) @@ -9762,22 +9761,14 @@ void ObjectMgr::ScriptNameContainer::reserve(size_t capacity) uint32 ObjectMgr::ScriptNameContainer::insert(std::string const& scriptName, bool isScriptNameBound) { - // c++17 try_emplace - auto const itr = NameToIndex.find(scriptName); - if (itr != NameToIndex.end()) + auto result = NameToIndex.try_emplace(scriptName, static_cast<uint32>(NameToIndex.size()), isScriptNameBound); + if (result.second) { - return itr->second.Id; - } - else - { - ASSERT(NameToIndex.size() < std::numeric_limits<uint32>::max()); - uint32 const id = static_cast<uint32>(NameToIndex.size()); - - auto result = NameToIndex.insert({ scriptName, Entry{ id, isScriptNameBound } }); + ASSERT(NameToIndex.size() <= std::numeric_limits<uint32>::max()); IndexToName.emplace_back(result.first); - - return id; } + + return result.first->second.Id; } size_t ObjectMgr::ScriptNameContainer::size() const |