#include #include #include namespace katja { class package { std::string m_name; std::string m_version; std::string m_architecture; std::string m_tag; public: explicit package(const std::string& name, const std::string& version, const std::string& architecture, const std::string& tag); const std::string& name() const noexcept; const std::string& version() const noexcept; const std::string& architecture() const noexcept; const std::string& tag() const noexcept; static std::optional parse(const std::string& full_name) noexcept; }; std::unordered_map read_package_database(); }