Is there a type traits template which returns the base type of a given type. By base type I mean the type with all value modifiers, const, volatile, etc. strip
Obviously it depends on what exactly you want to remove from the type. std::decay could be what you are looking for (removes references, const/volatile
, decays array to pointer and function to function pointer). If you don't want the array to pointer and function to functionpointer decay, you need to stick with std::remove_reference
and std::remove_cv
(removes const
and volatile
). Of course you could combine the two into your own typetrait to make using it easier.