title: Does the C++ standard library have a set ordered by insertion order?
body: <p>Does the C++ standard library have an "ordered set" datastructure? By ordered set, I mean something that is exactly the same as the ordinary <code>std::set</code> but that remembers the order in which you added the items to it.</p>
  
  <p>If not, what is the best way to simulate one? I know you could do something like have a set of pairs with each pair storing the number it was added in and the actual value, but I dont want to jump through hoops if there is a simpler solution.</p>