16 return getTypeName<std::remove_pointer_t<
decltype(
this)>>();
22 static std::unique_ptr<Serializable>
create(
const std::string& typeName) {
static std::unique_ptr< T > create(const std::string &typeName)
static const std::vector< std::string > & getRegisteredTypes()
static nlohmann::json createJson(const std::string &typeName)
virtual std::string getClassName() const
static nlohmann::json createDefaultJson(const std::string &typeName)
static const std::string classNameKey
static std::unique_ptr< Serializable > create(const std::string &typeName)
virtual void Serialize(nlohmann::json &archive)
virtual ~Serializable()=default
static const std::vector< std::string > & getRegisteredClasses()
virtual void Deserialize(nlohmann::json &archive)=0
Log category system implementation.
std::string getTypeName()