From 27e07d678703402fb9334b7e8fc9712b4b615731 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Fri, 25 Oct 2024 13:57:07 -0700 Subject: [PATCH] [ntcore] ClientImpl3: Store Entry by value --- ntcore/src/main/native/cpp/net3/ClientImpl3.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ntcore/src/main/native/cpp/net3/ClientImpl3.h b/ntcore/src/main/native/cpp/net3/ClientImpl3.h index 42610342c6..f31b27ce34 100644 --- a/ntcore/src/main/native/cpp/net3/ClientImpl3.h +++ b/ntcore/src/main/native/cpp/net3/ClientImpl3.h @@ -160,18 +160,14 @@ class ClientImpl3 final : private MessageHandler3 { std::vector> m_outgoingFlags; - using NameMap = wpi::StringMap>; + using NameMap = wpi::StringMap; using IdMap = std::vector; NameMap m_nameMap; IdMap m_idMap; Entry* GetOrNewEntry(std::string_view name) { - auto& entry = m_nameMap[name]; - if (!entry) { - entry = std::make_unique(name); - } - return entry.get(); + return &m_nameMap.try_emplace(name, name).first->second; } Entry* LookupId(unsigned int id) { return id < m_idMap.size() ? m_idMap[id] : nullptr;