Add is_lvalue_reference

This commit is contained in:
BlackMark 2020-04-14 12:40:39 +02:00
parent ce31ef017f
commit 65d8928ff4

View File

@ -63,6 +63,10 @@ template <typename T> struct is_reference<T &> : true_type {};
template <typename T> struct is_reference<T &&> : true_type {};
template <typename T> inline constexpr bool is_reference_v = is_reference<T>::value;
template <typename T> struct is_lvalue_reference : false_type {};
template <typename T> struct is_lvalue_reference<T &> : true_type {};
template <typename T> inline constexpr bool is_lvalue_reference_v = is_lvalue_reference<T>::value;
template <typename T> struct is_function : integral_constant<bool, !is_const_v<const T> && !is_reference_v<T>> {};
template <typename T> inline constexpr bool is_function_v = is_function<T>::value;