#pragma once #include #include #include #include class Project { public: Project(const std::string& path, const std::string& path_to_scripts, const std::string& name); Project(const Project&) = delete; Project(Project&&) = default; const std::filesystem::path& GetPath() const; const std::filesystem::path& GetPathToScripts() const; const std::string& GetName() const; bool IsSubDirectory(const std::filesystem::path&) const; void SetPath(const std::string& path); void SetPathToScripts(const std::string& path_to_scripts); void SetName(const std::string& name); void PrintInfo() const; private: std::filesystem::path path_; std::filesystem::path path_to_scripts_; std::string name_; }; Project CreateProject(); Project CreateProject(const std::string& name);