Equivalent to std::decay
, except faster.
std::decay
in libc++ is implemented in a suboptimal way. Since this is used literally everywhere by the make<...>
functions, it is very important to keep this as efficient as possible.
std::decay
is still being used in some places in the library. Indeed, this is a peephole optimization and it would not be wise to clutter the code with our own implementation of std::decay
, except when this actually makes a difference in compile-times.