瀏覽代碼

LibIPC: Add a Dictionary for-each method for fallible callbacks

Similar to a similar change to JsonObject (13b18a1).
Timothy Flynn 2 年之前
父節點
當前提交
d0f3f3d5ff
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      Userland/Libraries/LibIPC/Dictionary.h

+ 9 - 0
Userland/Libraries/LibIPC/Dictionary.h

@@ -7,6 +7,7 @@
 
 
 #pragma once
 #pragma once
 
 
+#include <AK/Concepts.h>
 #include <AK/DeprecatedString.h>
 #include <AK/DeprecatedString.h>
 #include <AK/HashMap.h>
 #include <AK/HashMap.h>
 
 
@@ -37,6 +38,14 @@ public:
         }
         }
     }
     }
 
 
+    template<FallibleFunction<DeprecatedString const&, DeprecatedString const&> Callback>
+    ErrorOr<void> try_for_each_entry(Callback&& callback) const
+    {
+        for (auto const& it : m_entries)
+            TRY(callback(it.key, it.value));
+        return {};
+    }
+
     HashMap<DeprecatedString, DeprecatedString> const& entries() const { return m_entries; }
     HashMap<DeprecatedString, DeprecatedString> const& entries() const { return m_entries; }
 
 
 private:
 private: