23 General utilities library [utilities]

23.15 Metaprogramming and type traits [meta]

23.15.7 Transformations between types [meta.trans]

23.15.7.2 Reference modifications [meta.trans.ref]

Таблица 46 - Справочные модификации
ШаблонКомментарии
template <class T>
struct remove_­reference;
Если T имеет тип «ссылка на T1», тогда type имена typedef члена T1; в противном случае - type имена T.
template <class T>
struct add_­lvalue_­reference;
Если T имена a, referenceable type то член typedef type names T&; в противном случае - type имена T. [ Note: Это правило отражает семантику свертывания ссылок ([dcl.ref]). ] end note
template <class T>
struct add_­rvalue_­reference;
Если T именует Referenceable типа , то члены ЬурейеГо type имен T&&; в противном случае - type имена T. [ Note: Это правило отражает семантику свертывания ссылок ([dcl.ref]). Например, когда тип T называет тип T1&, этот тип add_­rvalue_­reference_­t<T> не является ссылкой rvalue. ] end note