std::is_lvalue_reference
Min standard notice:
Header: <type_traits>
std::is_lvalue_reference is a UnaryTypeTrait.
# Declarations
template< class T >
struct is_lvalue_reference;
(since C++11)
# Example
#include <type_traits>
class A {};
static_assert(std::is_lvalue_reference_v<A> == false);
static_assert(std::is_lvalue_reference_v<A&> == true);
static_assert(std::is_lvalue_reference_v<A&&> == false);
static_assert(std::is_lvalue_reference_v<int> == false);
static_assert(std::is_lvalue_reference_v<int&> == true);
static_assert(std::is_lvalue_reference_v<int&&> == false);
int main() {}