schema_editor/comdel/domain/instance.h

45 lines
949 B
C
Raw Permalink Normal View History

2022-04-05 21:48:07 +00:00
#ifndef DOMAIN_INSTANCE_H
#define DOMAIN_INSTANCE_H
#include "bus.h"
#include "component.h"
2022-05-27 06:18:17 +00:00
#include "instance_attribute.h"
2022-04-05 21:48:07 +00:00
#include <string>
#include <vector>
namespace domain {
2022-05-27 06:18:17 +00:00
class BusInstance {
public:
std::string name;
std::pair<int, int> position;
2022-04-05 21:48:07 +00:00
2022-05-27 06:18:17 +00:00
Bus bus;
int size;
2022-04-05 21:48:07 +00:00
2022-05-27 06:18:17 +00:00
BusInstance(std::string name, Bus bus);
2022-05-25 05:39:45 +00:00
2022-05-27 06:18:17 +00:00
BusInstance(std::string name, std::pair<int, int> position, Bus bus, int size = -1);
2022-04-05 21:48:07 +00:00
2022-05-27 06:18:17 +00:00
virtual ~BusInstance() = default;
};
2022-04-05 21:48:07 +00:00
2022-05-27 06:18:17 +00:00
class ComponentInstance {
public:
std::string name;
std::vector<InstanceAttribute> attributes;
std::pair<int, int> position;
2022-05-08 13:47:47 +00:00
2022-05-27 06:18:17 +00:00
Component component;
2022-04-05 21:48:07 +00:00
2022-05-27 06:18:17 +00:00
ComponentInstance(std::string name, std::vector<InstanceAttribute> attributes, std::pair<int, int> position, Component component);
2022-04-05 21:48:07 +00:00
2022-05-27 06:18:17 +00:00
virtual ~ComponentInstance() = default;
};
2022-04-05 21:48:07 +00:00
} // namespace domain
#endif // DOMAIN_INSTANCE_H