Boost.Hana: boost::hana::detail::decay< T, U > Struct Template Reference

| Boost.Hana 1.0.0 Your standard library for metaprogramming |

List of all members
boost::hana::detail::decay< T, U > Struct Template Reference
Details

## Description

### template<typename T, typename U = typename std::remove_reference<T>::type>
struct boost::hana::detail::decay< T, U >

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.

Note
  `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.