A std :: map yang melacak urutan penyisipan?

Saat ini saya memiliki std::map<std::string,int>yang menyimpan nilai integer ke pengenal string unik, dan saya mencari dengan string tersebut. Itu sebagian besar melakukan apa yang saya inginkan, kecuali untuk itu tidak melacak urutan penyisipan. Jadi ketika saya mengulang peta untuk mencetak...