#include "Community.h" std::string Community::name() const { return Name; } void Community::set_name(const std::string& name) { Name = name; } std::vector>& Community::buildings() { return Buildings; } // Use move semantics for efficiency void Community::set_buildings(std::vector> buildings) { Buildings = std::move(buildings); } Energy_Tariff Community::energy_tariff() const { return energy_Tariff; } void Community::set_energy_tariff(const Energy_Tariff& energy_tariff) { energy_Tariff = energy_tariff; } void Community::iterateCommunities(std::vector> &communities, const std::function&)> &function) { for (auto &community : communities) { function(community); } }