1[/
2  Copyright 2010 John Maddock.
3  Distributed under the Boost Software License, Version 1.0.
4  (See accompanying file LICENSE_1_0.txt or copy at
5  http://www.boost.org/LICENSE_1_0.txt).
6]
7
8[section:is_lvalue_reference is_lvalue_reference]
9   template <class T>
10   struct is_lvalue_reference : public __tof {};
11
12__inherit If T is an lvalue reference type
13then inherits from __true_type,
14otherwise inherits from __false_type.
15
16__std_ref 3.9.2 and 8.3.2.
17
18__compat If the compiler does not
19support partial-specialization of class templates,
20then this template may report the wrong result for function types,
21and for types that are both const and volatile qualified.
22
23__header ` #include <boost/type_traits/is_lvalue_reference.hpp>` or ` #include <boost/type_traits.hpp>`
24
25__examples
26
27[:`is_lvalue_reference<int&>` inherits from `__true_type`.]
28
29[:`is_lvalue_reference<int const&>::type` is the type `__true_type`.]
30
31[:`is_lvalue_reference<int const&&>::type` is the type `__false_type`.]
32
33[:`is_lvalue_reference<int (&)(long)>::value` is an integral constant
34expression that evaluates to /true/ (the argument in this case is
35a reference to a function).]
36
37[:`is_lvalue_reference<T>::value_type` is the type `bool`.]
38
39[endsect]
40
41