From 2c78f4dd1f52200e7061b809bb472dbcd499962e Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 21 Dec 2021 18:29:52 +0100 Subject: Core/Misc: Resolve c++17 TODOs left in code as comments --- src/server/game/Globals/ObjectMgr.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'src/server/game/Globals/ObjectMgr.cpp') 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(NameToIndex.size()), isScriptNameBound); + if (result.second) { - return itr->second.Id; - } - else - { - ASSERT(NameToIndex.size() < std::numeric_limits::max()); - uint32 const id = static_cast(NameToIndex.size()); - - auto result = NameToIndex.insert({ scriptName, Entry{ id, isScriptNameBound } }); + ASSERT(NameToIndex.size() <= std::numeric_limits::max()); IndexToName.emplace_back(result.first); - - return id; } + + return result.first->second.Id; } size_t ObjectMgr::ScriptNameContainer::size() const -- cgit v1.2.3