Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

add_lvalue_reference

template <class T>
struct add_lvalue_reference
{
   typedef see-below type;
};

type: If T names an object or function type then the member typedef type shall name T&; otherwise, if T names a type rvalue reference to U then the member typedef type shall name U&; otherwise, type shall name T.

C++ Standard Reference: 20.7.6.2.

Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template will compile, but the member type will always be the same as type T except where compiler workarounds have been applied.

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

Table 1.12. Examples

Expression

Result Type

add_lvalue_reference<int>::type

int&

add_lvalue_reference<int const&>::type

int const&

add_lvalue_reference<int*>::type

int*&

add_lvalue_reference<int*&>::type

int*&

add_lvalue_reference<int&&>::type

int&

add_lvalue_reference<void>::type

void



PrevUpHomeNext