network_manager: Cleanup map type

We want the map type to be a unique_map that allows and type of strings
for comparsion.

Change-Id: I22158e85d90256fe827a0a2fb389acb68bc909a1
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/types.hpp b/src/types.hpp
index c64407a..5465381 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -9,6 +9,7 @@
 #include <sdeventplus/clock.hpp>
 #include <sdeventplus/utility/timer.hpp>
 #include <string>
+#include <unordered_map>
 #include <unordered_set>
 #include <variant>
 
@@ -26,8 +27,6 @@
 // configuration takes 3-4 sec to reconfigure at most.
 constexpr auto refreshTimeout = 4s;
 
-using IntfName = std::string;
-
 using Addr_t = ifaddrs*;
 
 struct AddrDeleter
@@ -53,9 +52,17 @@
 // Byte representations for common address types in network byte order
 using InAddrAny = std::variant<struct in_addr, struct in6_addr>;
 
-using InterfaceList = std::unordered_set<IntfName>;
+using InterfaceList = std::unordered_set<std::string>;
 
 using Timer = sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic>;
 
+struct string_hash : public std::hash<std::string_view>
+{
+    using is_transparent = void;
+};
+template <typename V>
+using string_umap =
+    std::unordered_map<std::string, V, string_hash, std::equal_to<>>;
+
 } // namespace network
 } // namespace phosphor