C++ enum of types

I wish to use a collection of types in a variant template std::variant<type0, type1, type2, ..., typen>. typen can be anything such as an int or std::vector<int> say. Is there a way to abbreviate type0, type1, type2, ..., typen in a type enum of some sort?? I'm trying not to write std::variant<type0, type1, type2, ..., typen> every time.


You want a type alias: https://en.cppreference.com/w/cpp/language/type_alias

using short_name = std::variant<type0,type1,type2, ..., typen>;

I could benefit from accessing individual typen later on. So I'd prefer not to alias the variant

Thats no reason to not use a type alias. You can still use type0 etc. And to get the n-th type of the variant there is std::variant_alternative_t:

 static_assert( std::is_same_v< type0, std::variant_alternative_t<0,short_name> > );