Is there a library which provides a data structure, which preserves the order of items and does not contain any duplicates? And does there exist a proper name for such a data st
OSet from ordered-containers seems to do what you want.
ordered-containers