#pragma once #include #include #include #include #include #include "projects/project.hpp" class ProjectList { public: ProjectList(); const std::deque& GetProjects(); void AddProject(Project&&); void RemoveProjectByName(const std::string& name); const Project& GetProject( const std::filesystem::path& path = std::filesystem::current_path()) const; void LoadFromYaml(const std::string& file_path); void SaveToYaml(const std::string& file_path) const; private: std::deque projects_; };