/* * Copyright (c) 2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace IPC { class Dictionary { public: Dictionary() { } Dictionary(const HashMap& initial_entries) : m_entries(initial_entries) { } bool is_empty() const { return m_entries.is_empty(); } size_t size() const { return m_entries.size(); } void add(String key, String value) { m_entries.set(move(key), move(value)); } template void for_each_entry(Callback callback) const { for (auto& it : m_entries) { callback(it.key, it.value); } } const HashMap& entries() const { return m_entries; } private: HashMap m_entries; }; }