¿Puedo mover-asignar un contenido de std :: map a otro std :: map?

¿Es posible insertar el contenido de un std :: map temporaltemp en otro std :: mapam mediante el uso de la semántica de movimiento, de modo que los valores de la temporal no se copian y se reutilizan?

Digamos que uno tiene:

std::map<int, Data> temp;
std::map<int, Data> m;

Una forma de copiar valores detemp dentrom es:

m.insert(temp.begin(),temp.end());

Cómo puedomoverse eltemp elementos enm, en lugar de copiar?

Respuestas a la pregunta(3)

Su respuesta a la pregunta