1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 09:58:14 +00:00

LibCore: Add Traits<Core::SocketAddress>::hash()

This commit is contained in:
Pierre Delagrave 2023-07-13 15:30:13 -04:00 committed by Andreas Kling
parent d185217599
commit fc065ee560

View file

@ -84,6 +84,9 @@ public:
return address;
}
bool operator==(SocketAddress const& other) const = default;
bool operator!=(SocketAddress const& other) const = default;
private:
Type m_type { Type::Invalid };
IPv4Address m_ipv4_address;
@ -100,3 +103,11 @@ struct AK::Formatter<Core::SocketAddress> : Formatter<DeprecatedString> {
return Formatter<DeprecatedString>::format(builder, value.to_deprecated_string());
}
};
template<>
struct AK::Traits<Core::SocketAddress> : public GenericTraits<Core::SocketAddress> {
static unsigned hash(Core::SocketAddress const& socket_address)
{
return pair_int_hash(Traits<IPv4Address>::hash(socket_address.ipv4_address()), Traits<u16>::hash(socket_address.port()));
}
};