¿Cómo indexar y consultar contenedores de mapas STL por varias claves?

Me encontré con un requisito donde el registro se almacena como

Name :  Employee_Id  :  Address

donde se supone que Name y Employee_Id son claves, es decir, se debe proporcionar una función de búsqueda tanto en Name como en Employee Id.

Se me ocurre usar un mapa para almacenar esta estructura

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

pero no estoy exactamente seguro de cómo se verá la función de búsqueda.

Respuestas a la pregunta(5)

Su respuesta a la pregunta