This data structure has two strong properties:
1- guaranteed uniqueness of its elements.
2- preservation of insertion order of its elements.
(A) Sounds like you're describing an
LRU.
(B) You're talking to the wrong list here. Step 1 is for you to want this data structure for some actual reason (not just that you just learned about it, but that you have a real place to use it in your own code). Step 2 is for you to implement it in code. (Put it on GitHub or something.) Step 3 is to stop there, since once the code is available there's no reason to bother the Committee with it; but at least there's certainly no sense in bothering the Committee with it before steps 1 and 2 have happened.
(C) Have you looked at what you'd get by using
Boost.MultiIndex? (Search "boost multiindex lru" to find people already using it as an LRU.)
–Arthur