#ifndef DOMAIN_INSTANCE_H #define DOMAIN_INSTANCE_H #include "bus.h" #include "component.h" #include "instanceattribute.h" #include #include namespace domain { class Instance { public: std::string name; std::vector attributes; std::pair position; virtual ~Instance() {}; Instance(std::string name, std::vector attributes, std::pair position); }; class BusInstance: public Instance { public: Bus bus; int size; BusInstance(std::string name, std::pair position, Bus bus, int size); virtual ~BusInstance() { Instance::~Instance(); } }; class ComponentInstance: public Instance { public: Component component; ComponentInstance(std::string name, std::vector attributes, std::pair position, Component component); virtual ~ComponentInstance() { Instance::~Instance(); } }; } // namespace domain #endif // DOMAIN_INSTANCE_H