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

AddRvalueReference adds an rvalue && reference to T if one isn't already present. More...

#include <TypeTraits.h>

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

Detailed Description

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

AddRvalueReference adds an rvalue && reference to T if one isn't already present.

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

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

mozilla::AddRvalueReference<int>::Type is int&&; mozilla::AddRvalueRference<volatile int&>::Type is volatile int&; mozilla::AddRvalueRference<const int&&>::Type is const int&&; mozilla::AddRvalueReference<void*>::Type is void*&&; mozilla::AddRvalueReference<void>::Type is void; mozilla::AddRvalueReference<struct S&>::Type is struct S&.

Definition at line 829 of file TypeTraits.h.


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