I can't compile this as I don't have a C++ compiler to hand, but looking through the code you seem to do a lot of duplicate assignment, like:-


auto iter = Zones.begin();
for (iter =...