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;