types: Add hash function for IPs
Change-Id: I232443d68aee32eb1d52c98ceecccd43700397a1
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/types.cpp b/src/types.cpp
index 0d642e5..12a4363 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -96,6 +96,17 @@
} // namespace phosphor::network::detail
+std::size_t std::hash<in_addr>::operator()(in_addr addr) const noexcept
+{
+ return std::hash<decltype(addr.s_addr)>{}(addr.s_addr);
+}
+
+std::size_t std::hash<in6_addr>::operator()(in6_addr addr) const noexcept
+{
+ return phosphor::network::hash_multi(addr.s6_addr32[0], addr.s6_addr32[1],
+ addr.s6_addr32[2], addr.s6_addr32[3]);
+}
+
std::string std::to_string(ether_addr value)
{
return string(phosphor::network::detail::AddrBufMaker<ether_addr>{}(value));