I am unable to decide which STL container to use in the following case:
Boost MultiIndex should be able to do exactly what you want - you can just use one sequenced index to get the "ordered by insertion order" requirement, and either a hashed_unique or ordered_unique index to get the uniqueness requirement.
hashed_unique
ordered_unique