#pragma once #include "json.hpp" #include "jsonable.h" #include namespace feature { class Feature : public Jsonable { public: static std::shared_ptr create(const nlohmann::json& data); virtual ~Feature(); std::string getName(void) const; std::string getType(void) const; std::string getText(void) const; virtual nlohmann::json toJson(void) const; protected: Feature(const nlohmann::json& data); private: const std::string name; const std::string type; const std::string text; }; }