Здравствуйте, okman, Вы писали:
O>Только без Boost.PP — там разобраться может только маньяк.
Без Boost.PP трудно писать кросс-платформенный код (на макросах) — например потому что у MSVC много багов в препроцессоре, и тот код который работает на MSVC может быть некорректным с точки зрения ISO и не работать GCC.
Boost.PP выступает в роли абстракции от конкретного препроцессора, разруливая implementation-specific проблемы под капотом.