Есть счастливые люди, работающие с boost и Qt. В моем текущем «встроенном» проекте мне приходится использовать самодельные классы-контейнеры. Хорошо, хватит жалоб.
Я попытался реализовать простой и автономный foreach, подобный этому:
#define ForEachString(S,C) TString S;\
for ( int i=0; i<C.GetSize() && (!!(&(S=C[i]))); ++i )
Он выполняет итерацию по списку строк, который имеет методы op [] и GetSize (). Например:
TStringList tables;
ForEachString( table, tables )
{
//do sth. with tab.
}
Конечно, самая уродливая вещь, Поэтому мой вопрос: возможно ли сделать это контейнерно-независимым и по-прежнему самодостаточным (все требуемые вещи в макроопределении)?
С уважением, Valentin