#include <iostream>
#include <list>
#include <algorithm>
#include <string>
using namespace std;
typedef string CString;
struct CPairAbsDot{};
struct CPairSur{};
struct CCompareFing
{
double val;
short cDot;
short nfng;
CString name;
list<CPairAbsDot> dots;
//second - совпавшие точки
list<CPairSur> surdots;
};
list<CCompareFing> l;
int main() {
list<CCompareFing> l;
for_each (l.begin(), l.end(), [](const CCompareFing& cf){
// do something with cf
});
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgc3RyaW5nIENTdHJpbmc7CnN0cnVjdCBDUGFpckFic0RvdHt9OwpzdHJ1Y3QgQ1BhaXJTdXJ7fTsKCnN0cnVjdCBDQ29tcGFyZUZpbmcKewogICAgZG91YmxlIHZhbDsgICAgICAgIAogICAgc2hvcnQgY0RvdDsgICAgICAgIAogICAgc2hvcnQgbmZuZzsgICAgICAgIAogICAgQ1N0cmluZyBuYW1lOyAgICAKICAgIGxpc3Q8Q1BhaXJBYnNEb3Q+IGRvdHM7ICAgICAgICAKICAgIC8vc2Vjb25kIC0g0YHQvtCy0L/QsNCy0YjQuNC1INGC0L7Rh9C60LgKICAgIGxpc3Q8Q1BhaXJTdXI+IHN1cmRvdHM7Cn07CgpsaXN0PENDb21wYXJlRmluZz4gbDsKCmludCBtYWluKCkgewogICAgbGlzdDxDQ29tcGFyZUZpbmc+IGw7Cglmb3JfZWFjaCAobC5iZWdpbigpLCBsLmVuZCgpLCBbXShjb25zdCBDQ29tcGFyZUZpbmcmIGNmKXsKICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIGNmCiAgICB9KTsKfQ==