Jak indeksować i przeszukiwać kontenery map STL za pomocą wielu kluczy?

Natknąłem się na jeden wymóg, w którym zapis jest przechowywany jako

Name :  Employee_Id  :  Address

gdzie Name i Employee_Id mają być kluczami, czyli funkcja wyszukiwania powinna być podana zarówno w polu Name, jak i Id pracownika.

Mogę myśleć o użyciu mapy do przechowywania tej struktury

std::map< std:pair<std::string,std::string> , std::string >  
//      <         < Name   ,   Employee-Id> , Address     > 

ale nie jestem pewien, jak będzie wyglądać funkcja wyszukiwania.

questionAnswers(5)

yourAnswerToTheQuestion