If this is a typical pattern of access, I would say that the multimap
is the wrong container?
Something like the following may be more appropriate?
std::map<std::string, std::set<std::string>>
Okay, insertion and removal is more complex, but a find matches the requirements that you have.