#pragma once #include "IDataNode.h" #include namespace grove { class ISerializable { public: virtual ~ISerializable() = default; virtual std::unique_ptr serialize() const = 0; virtual void deserialize(const IDataNode& data) = 0; }; } // namespace grove