Maybe this will help. I haven't tested it.
typedef std::map<string, std::pair<int, int> > TraderProductMap;
typedef std::multimap<string, TraderProductMap> TraderMap;
typedef TraderProductMap::iterator TraderProductMapIter;
typedef TraderMap::iterator TraderMapIter;
std::pair<TraderMapIter, TraderMapIter> range;
range = traders.equal_range(stringKeyValue);
for(TraderMapIter itTrader = range.first;itTrader != range.second;++itTrader) {
std::cout << " " << itTrader->first << std::endl;
for(TraderProductMapIter itProduct = itTrader->second.begin();itProduct != itTrader->second.end();++itProduct) {
std::cout << " " << itProduct->first << " " itProduct->second->first << " " << itProduct->second->second << std::endl;
}
std::cout << std::endl;
}