While writing a cpp library I ended up with possiblity that std::variants shall contain repeating types, that is for example, std::variant<int, double, int, std::string, int>. It may be useful in some occasions but in case of my library I find this unnecessary. And so I would like to filter type reptitions like this:
std::variant<int, double, int, std::string, int> -> std::variant<int, double, std::string>
std::variant<std::string, std::string, int> -> std::variant<std::string, int>
How can this be done?