فهرست منبع

LibWeb: Allow using Origin as a HashMap key

Andreas Kling 3 سال پیش
والد
کامیت
a856cf8d4c
1فایلهای تغییر یافته به همراه13 افزوده شده و 0 حذف شده
  1. 13 0
      Userland/Libraries/LibWeb/Origin.h

+ 13 - 0
Userland/Libraries/LibWeb/Origin.h

@@ -33,6 +33,9 @@ public:
             && port() == other.port();
     }
 
+    bool operator==(Origin const& other) const { return is_same(other); }
+    bool operator!=(Origin const& other) const { return !is_same(other); }
+
 private:
     String m_protocol;
     String m_host;
@@ -40,3 +43,13 @@ private:
 };
 
 }
+
+namespace AK {
+template<>
+struct Traits<Web::Origin> : public GenericTraits<Web::Origin> {
+    static unsigned hash(Web::Origin const& origin)
+    {
+        return pair_int_hash(origin.protocol().hash(), pair_int_hash(int_hash(origin.port()), origin.host().hash()));
+    }
+};
+} // namespace AK