Так вот, беда в том, что cuyo написан сука на немецком языке С++. То есть там внутри вообще всё что можно обозвано немецкими скороговорками. И до кучи ему не нравится собственный конфиг. Надо разгадать, хули же ему надо вот в таком коде:
set<set<Str> >::const_iterator i1 = versionen.begin(), i2, e = versionen.end(); for (; i1!=e; ++i1) for (i2 = i1, ++i2; i2!=e; ++i2) { set<Str> v = vereinigung(*i1,*i2); if (legal(v)) if (versionen.find(v)==e) { throw Fehler(_("%s%s not uniquely defined"), schluessel.data(), setToString(v).data()); } } ... set<Str> vereinigung(const set<Str> & s1,const set<Str> & s2) { set<Str> v = s1; set<Str>::const_iterator i = s2.begin(), e = s2.end(); for (; i!=e; ++i) v.insert(*i); return v; }
Я сижу и охуеваю от того, что наворотил тевтонский программист. Что это блядь такое-то вообще?
Есть set setов строк. Он берет каждую пару setов строк, делает из них set с неповторяющимися строками, и ищет их в исходном setе. Ясен пень что этот код всегда будет кидать исключение, кроме случая когда там только один сет - тогда он сам себя будет находить и радоваться.
* * *
ох ты ж блядь оно ещё и не собирается из сорцов