#pragma once #include #include #include #include // The base class for all objects in the data model class Instance : std::enable_shared_from_this { private: std::optional> Parent; std::vector> children; public: std::string Name; std::optional> GetParent(); void SetParent(std::optional> newParent); std::vector> GetChildren(); virtual void Init(); Instance CloneInternal(); };