Substituir diretamente em std :: map of pair

Por que esse código não compila?

std::map<int,std::pair<int,int>> m;
m.emplace(1,1,1);

Supondo que possamos editar o código destd::map::emplace, é possível alterá-lo para validar o código anterior?