gcc 4.6 doesn't support emplace on unordered map