Well, I have not used this facility before so I am no expert on maps -
but I will try to help you today.
As you know a map is associative container type. A map can store it's
elements in order or not. If it is an un_ordered map then the keys will
not be in any particular order as a 'hash' function will be used instead.
A hash map does not seem to be what you are seeking.
A regular map must have an order placed on the keys:
"The map requires that a less-than operation exist for it's key types
and keeps its elements sorted so that iteration over a map occurs in
order." (Stroustrup C++ programming language 3rd edition p480)
Unfortunately, to see if there is a 'guarantee' about retrieval order
you would have to own a copy of the C++ standard. But it seems that this
is implied by the above quote.
Regards