_>_>#define CONCAT( p1, p2 ) p1##,##p2
_>#define FOR_EACH_M( Decl_p1, Decl_p2, Cont ) FOR_EACH( CONCAT( Decl_p1, Decl_p2 ), Cont )
_>// Использовать так
_>FOR_EACH_M( pair<const string, string>& thePair, mapStoS )
_>
_>PS. Жалко что макросы нельзя перегружать — тогда можно было бы не выдумывать новое имя FOR_EACH_M
мне кажется что такой код не только не красивый, но и неправильный..
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)