Я только вернусь на С++ после нескольких лет работы с большим количеством С# и недавно Objective C.
Одна вещь, которую я делал раньше, - это свернуть собственный адаптер-итератор для std:: map, который будет обрабатывать только часть значения, а не пару ключевых значений. Это довольно распространенная и естественная вещь. С# предоставляет этот объект с его свойствами Keys и Value своего класса Dictionary. Objective-C NSDictionary, аналогично, имеет allKeys и allValues.
Поскольку я был "прочь", Boost приобрел библиотеки Range и ForEach, которые я сейчас широко использую. Я задавался вопросом, было ли между ними какое-то средство сделать то же самое, но я ничего не смог найти.
Я подумываю о том, чтобы что-то сбить с помощью адаптеров Boost Iterator, но прежде чем я спустился по этому маршруту, я подумал, что спрошу здесь, знает ли кто-нибудь об этом объекте в Boost или где-то еще готовом?