When iterating thorugh the elements of an std::map, do you always get them in sorted order (according to the "first"-element)? Tests suggests they do, but that may be implementation dependent, or?