LibreOffice Module onlineupdate (master) 1
mozilla::AddLvalueReference< T > Struct Template Reference

AddLvalueReference adds an lvalue & reference to T if one isn't already present. More...

#include <TypeTraits.h>

Inheritance diagram for mozilla::AddLvalueReference< T >:
[legend]
Collaboration diagram for mozilla::AddLvalueReference< T >:
[legend]

Detailed Description

template<typename T>
struct mozilla::AddLvalueReference< T >

AddLvalueReference adds an lvalue & reference to T if one isn't already present.

(Note: adding an lvalue reference to an rvalue && reference in essence replaces the && with a &&, per C+11 reference collapsing rules. For example, int&& would become int&.)

The final computed type will only not be an lvalue reference if T is void.

mozilla::AddLvalueReference<int>::Type is int&; mozilla::AddLvalueRference<volatile int&>::Type is volatile int&; mozilla::AddLvalueReference<void*>::Type is void*&; mozilla::AddLvalueReference<void>::Type is void; mozilla::AddLvalueReference<struct S&&>::Type is struct S&.

Definition at line 790 of file TypeTraits.h.


The documentation for this struct was generated from the following file: