- void addChild(Container* child);
- void addResources(std::vector<sg_host_t> hosts);
- void createHierarchy(sg_netzone_t from_as);
- std::vector<int> getHierarchy();
- std::string getHierarchyAsString();
+
+public:
+ explicit Container(const std::string& name);
+ Container(const Container&) = delete;
+ Container& operator=(const Container&) = delete;
+
+ const char* get_cname() const { return name.c_str(); }
+ void set_parent(Container* parent) { parent_ = parent; }
+ bool has_children() { return not children_.empty(); }
+ int get_child_position(Container* child);
+ unsigned int get_id_by_name(const char* name) { return name2id.at(name); }
+
+ void add_child(Container* child);
+ void add_resources(std::vector<sg_host_t> hosts);
+ void create_hierarchy(const_sg_netzone_t from_as);
+ std::vector<int> get_hierarchy();
+ std::string get_hierarchy_as_string();