Curring magic
This commit is contained in:
@ -7,20 +7,23 @@
|
||||
#include "../model/Building.h"
|
||||
#include <algorithm>
|
||||
#include <execution>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
|
||||
void Surplus::CalculateSurplus(std::vector<std::shared_ptr<Community>> &communities) {
|
||||
void Surplus::CalculateSurplus(std::vector<std::unique_ptr<Community>>& communities) {
|
||||
std::vector<float> consumptionAvailable(VALUE_COUNT, 0.0);
|
||||
std::vector<float> generationAvailable(VALUE_COUNT, 0.0);
|
||||
|
||||
Community::iterateCommunities(communities, [&](const std::shared_ptr<Community>& community) {
|
||||
auto &buildings = community->buildings();
|
||||
|
||||
Building::Base::iterateBuildings(buildings, [&](Building::Base &building) {
|
||||
CalculateBuildingSurplus(building);
|
||||
});
|
||||
});
|
||||
auto iterateFunc = Community::iterateBuildings(communities);
|
||||
auto modifyCommunity = [](Community& c) {
|
||||
std::cout << "Processing Community\n";
|
||||
};
|
||||
auto modifyBuilding = [](Building::Base& building) {
|
||||
std::cout << "Processing Building\n";
|
||||
CalculateBuildingSurplus(building);
|
||||
};
|
||||
auto nestedFunc = iterateFunc(modifyCommunity);
|
||||
nestedFunc(modifyBuilding);
|
||||
}
|
||||
|
||||
void Surplus::CalculateBuildingSurplus(Building::Base& building) {
|
||||
|
||||
Reference in New Issue
Block a user