Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.


template <class T>
struct is_lvalue_reference : public true_type-or-false_type {};

Inherits: If T is an lvalue reference type then inherits from true_type, otherwise inherits from false_type.

C++ Standard Reference: 3.9.2 and 8.3.2.

Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template may report the wrong result for function types, and for types that are both const and volatile qualified.

Header: #include <boost/type_traits/is_lvalue_reference.hpp> or #include <boost/type_traits.hpp>


is_lvalue_reference<int&> inherits from true_type.

is_lvalue_reference<int const&>::type is the type true_type.

is_lvalue_reference<int const&&>::type is the type false_type.

is_lvalue_reference<int (&)(long)>::value is an integral constant expression that evaluates to true (the argument in this case is a reference to a function).

is_lvalue_reference<T>::value_type is the type bool.