Здравствуйте, Кодт, Вы писали:
К>Поскольку объявление члена — container c — всё равно лежит в хедере, то не вижу препятствий, чтобы там же лежало и определение функции.
К>Оно несложное
К>К> template<class OutIt>
К> void copy(OutIt out)
К> {
К> std::transform(c.begin(), c.end(), out, theFieldOfZ);
К> }
К> // не хочу городить bind в ущерб читаемости
К> static int justFieldOfZ(std::map<int,Z>::value_type const& elem)
К> {
К> return elem->second.theField;
К> }
К>
Спасибо, приятное решение. А как поступить если для X используется подход с разделением на интерфейс (абстрактный класс) и имплементацию?