У меня ничего не ругается. VS 2013.
Вероятно, упоминание компилятором "tuple" из пространства имен "tr1" свидетельствует о том, что вам пора обновить инструментарий.
И, вероятно, вместо:
std::size_t operator()(const std::pair<std::string, std::string>& k) const
вы хотели сделать:
std::size_t operator()(const std::tuple<std::string, std::string, std::string>& k) const