#ifndef LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
#define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
#include "src/__support/CPP/type_traits/type_identity.h"
#include "src/__support/macros/config.h"
namespace LIBC_NAMESPACE_DECL {
namespace cpp {
namespace detail {
template <class T>
auto try_add_rvalue_reference(int) -> cpp::type_identity<T &&>;
template <class T> auto try_add_rvalue_reference(...) -> cpp::type_identity<T>;
}
template <class T>
struct add_rvalue_reference : decltype(detail::try_add_rvalue_reference<T>(0)) { … };
add_rvalue_reference_t;
}
}
#endif