title: using boost multi_index_container to preserve insertion order
body: <p>I initially started out using a <code>std::multimap</code> to store many values with the same key, but then I discovered that it doesn't preserve the insertion order among values with the same key.  <a href="https://stackoverflow.com/questions/1595270/how-does-the-stls-multimap-insert-respect-orderings/1595473#1595473">This answer</a> claims it can be done with <code>boost::multi_index::multi_index_container</code>, but gives no example.  Looking through the docs, there are no examples of that usage, and I can't make heads or tails of how you're supposed to use this thing.  I have come to expect poor documentation from the lesser-used boost libraries, but this takes the cake.  Can anyone point me to a tutorial or example that shows it used the way I want, or perhaps even provide an example themselves?</p>