mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Move IsLvalueReference to the correct place, slightly beef up its documentation. No bug, r=trivial
--HG-- extra : rebase_source : 5998289e3993cd0384efe0ab7d21b8097dedac2f
This commit is contained in:
parent
cc6ac49bd5
commit
4ff31eefe1
@ -130,6 +130,23 @@ struct IsPointer : FalseType {};
|
||||
template<typename T>
|
||||
struct IsPointer<T*> : TrueType {};
|
||||
|
||||
/**
|
||||
* IsLvalueReference determines whether a type is an lvalue reference.
|
||||
*
|
||||
* mozilla::IsLvalueReference<struct S*>::value is false;
|
||||
* mozilla::IsLvalueReference<int**>::value is false;
|
||||
* mozilla::IsLvalueReference<void (*)(void)>::value is false;
|
||||
* mozilla::IsLvalueReference<int>::value is false;
|
||||
* mozilla::IsLvalueReference<struct S>::value is false;
|
||||
* mozilla::IsLvalueReference<struct S*&>::value is true;
|
||||
* mozilla::IsLvalueReference<struct S&&>::value is false.
|
||||
*/
|
||||
template<typename T>
|
||||
struct IsLvalueReference : FalseType {};
|
||||
|
||||
template<typename T>
|
||||
struct IsLvalueReference<T&> : TrueType {};
|
||||
|
||||
namespace detail {
|
||||
|
||||
// __is_enum is a supported extension across all of our supported compilers.
|
||||
@ -424,16 +441,6 @@ struct IsConvertible
|
||||
: IntegralConstant<bool, detail::ConvertibleTester<From, To>::value>
|
||||
{};
|
||||
|
||||
/**
|
||||
* Is IsLvalueReference<T> is true if its template param is T& and is false if
|
||||
* its type is T or T&&.
|
||||
*/
|
||||
template<typename T>
|
||||
struct IsLvalueReference : FalseType {};
|
||||
|
||||
template<typename T>
|
||||
struct IsLvalueReference<T&> : TrueType {};
|
||||
|
||||
/* 20.9.7 Transformations between types [meta.trans] */
|
||||
|
||||
/* 20.9.7.1 Const-volatile modifications [meta.trans.cv] */
|
||||
|
Loading…
Reference in New Issue
Block a user