reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/Object/ELFObjectFile.h
  188 class ELFRelocationRef : public RelocationRef {

Declarations

tools/llvm-objdump/llvm-objdump.h
   27 class RelocationRef;
tools/llvm-readobj/llvm-readobj.h
   20     class RelocationRef;

References

include/llvm/ADT/Optional.h
  144     T value;
  172   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
  176   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
  181   T &&getValue() && noexcept {
  197       ::new ((void *)std::addressof(value)) T(y);
  216   optional_detail::OptionalStorage<T> Storage;
  219   using value_type = T;
  224   Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
  227   Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
  230   Optional &operator=(T &&y) {
  241   static inline Optional create(const T *y) {
  245   Optional &operator=(const T &y) {
  253   const T *getPointer() const { return &Storage.getValue(); }
  254   T *getPointer() { return &Storage.getValue(); }
  255   const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  256   T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  260   const T *operator->() const { return getPointer(); }
  261   T *operator->() { return getPointer(); }
  262   const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
  263   T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  271   T &&getValue() && { return std::move(Storage.getValue()); }
  272   T &&operator*() && { return std::move(Storage.getValue()); }
  275   T getValueOr(U &&value) && {
include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
   22   object::RelocationRef Reloc;
   24   Optional<object::RelocationRef> Reloc2;
include/llvm/Object/COFF.h
  936   const coff_relocation *getCOFFRelocation(const RelocationRef &Reloc) const;
include/llvm/Object/ELFObjectFile.h
  188 class ELFRelocationRef : public RelocationRef {
  190   ELFRelocationRef(const RelocationRef &B) : RelocationRef(B) {
  822   return relocation_iterator(RelocationRef(RelData, this));
  841   return relocation_iterator(RelocationRef(RelData, this));
include/llvm/Object/ObjectFile.h
   60   bool operator==(const RelocationRef &Other) const;
   77 using relocation_iterator = content_iterator<RelocationRef>;
  522 inline bool RelocationRef::operator==(const RelocationRef &Other) const {
include/llvm/Object/RelocationResolver.h
   34 using RelocationResolver = uint64_t (*)(RelocationRef R, uint64_t S, uint64_t A);
include/llvm/Object/SymbolicFile.h
   70     : public std::iterator<std::forward_iterator_tag, content_type> {
   71   content_type Current;
   74   content_iterator(content_type symb) : Current(std::move(symb)) {}
   76   const content_type *operator->() const { return &Current; }
   78   const content_type &operator*() const { return Current; }
include/llvm/Object/Wasm.h
  127   const wasm::WasmRelocation &getWasmRelocation(const RelocationRef &Ref) const;
include/llvm/Support/type_traits.h
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
lib/DebugInfo/DWARF/DWARFContext.cpp
 1288                                        const RelocationRef &Reloc,
 1343                              const RelocationRef &Reloc) {
 1648       for (const RelocationRef &Reloc : Section.relocations()) {
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
  634     for (const RelocationRef &Reloc : SI->relocations())
  664     for (const RelocationRef &Reloc : SI->relocations())
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
 1922 bool RuntimeDyldELF::relocationNeedsGot(const RelocationRef &R) const {
 1936 bool RuntimeDyldELF::relocationNeedsStub(const RelocationRef &R) const {
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
  160   bool relocationNeedsGot(const RelocationRef &R) const override;
  161   bool relocationNeedsStub(const RelocationRef &R) const override;
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
  454   virtual bool relocationNeedsGot(const RelocationRef &R) const {
  459   virtual bool relocationNeedsStub(const RelocationRef &R) const {
lib/Object/COFFObjectFile.cpp
 1167 COFFObjectFile::getCOFFRelocation(const RelocationRef &Reloc) const {
lib/Object/ELFObjectFile.cpp
  441   for (const auto &Relocation : RelaPlt->relocations()) {
lib/Object/RelocationResolver.cpp
   18 static int64_t getELFAddend(RelocationRef R) {
   42 static uint64_t resolveX86_64(RelocationRef R, uint64_t S, uint64_t A) {
   71 static uint64_t resolveAArch64(RelocationRef R, uint64_t S, uint64_t A) {
   92 static uint64_t resolveBPF(RelocationRef R, uint64_t S, uint64_t A) {
  114 static uint64_t resolveMips64(RelocationRef R, uint64_t S, uint64_t A) {
  137 static uint64_t resolvePPC64(RelocationRef R, uint64_t S, uint64_t A) {
  158 static uint64_t resolveSystemZ(RelocationRef R, uint64_t S, uint64_t A) {
  181 static uint64_t resolveSparc64(RelocationRef R, uint64_t S, uint64_t A) {
  203 static uint64_t resolveAmdgpu(RelocationRef R, uint64_t S, uint64_t A) {
  224 static uint64_t resolveX86(RelocationRef R, uint64_t S, uint64_t A) {
  241 static uint64_t resolvePPC32(RelocationRef R, uint64_t S, uint64_t A) {
  251 static uint64_t resolveARM(RelocationRef R, uint64_t S, uint64_t A) {
  267 static uint64_t resolveAVR(RelocationRef R, uint64_t S, uint64_t A) {
  282 static uint64_t resolveLanai(RelocationRef R, uint64_t S, uint64_t A) {
  298 static uint64_t resolveMips32(RelocationRef R, uint64_t S, uint64_t A) {
  318 static uint64_t resolveSparc32(RelocationRef R, uint64_t S, uint64_t A) {
  329 static uint64_t resolveHexagon(RelocationRef R, uint64_t S, uint64_t A) {
  356 static uint64_t resolveRISCV(RelocationRef R, uint64_t S, uint64_t A) {
  400 static uint64_t resolveCOFFX86(RelocationRef R, uint64_t S, uint64_t A) {
  420 static uint64_t resolveCOFFX86_64(RelocationRef R, uint64_t S, uint64_t A) {
  441 static uint64_t resolveCOFFARM(RelocationRef R, uint64_t S, uint64_t A) {
  461 static uint64_t resolveCOFFARM64(RelocationRef R, uint64_t S, uint64_t A) {
  476 static uint64_t resolveMachOX86_64(RelocationRef R, uint64_t S, uint64_t A) {
  501 static uint64_t resolveWasm32(RelocationRef R, uint64_t S, uint64_t A) {
lib/Object/WasmObjectFile.cpp
 1550 WasmObjectFile::getWasmRelocation(const RelocationRef &Ref) const {
lib/XRay/InstrumentationMap.cpp
  103       for (const object::RelocationRef &Reloc : Section.relocations()) {
tools/dsymutil/DwarfLinker.cpp
  448   for (const object::RelocationRef &Reloc : Section.relocations()) {
tools/lld/ELF/DWARF.cpp
   62   static uint64_t resolve(object::RelocationRef ref, uint64_t s,
   70   static uint64_t resolve(object::RelocationRef /*Ref*/, uint64_t s,
tools/llvm-cxxdump/llvm-cxxdump.cpp
   88     for (const object::RelocationRef &Reloc : SR.relocations()) {
  112     for (const object::RelocationRef &Reloc : SR.relocations()) {
tools/llvm-objdump/COFFDump.cpp
  175 static Error resolveSymbol(const std::vector<RelocationRef> &Rels,
  193                    const std::vector<RelocationRef> &Rels, uint64_t Offset,
  207 static Error resolveSymbolName(const std::vector<RelocationRef> &Rels,
  220                                    const std::vector<RelocationRef> &Rels,
  448                             std::vector<RelocationRef> &Rels,
  456     for (const RelocationRef &Reloc : Section.relocations())
  477                                          const RelocationRef &Rel,
  556                                      const std::vector<RelocationRef> &Rels) {
  607   std::vector<RelocationRef> Rels;
tools/llvm-objdump/ELFDump.cpp
   54                                       const RelocationRef &RelRef,
  117                                   const RelocationRef &Rel,
tools/llvm-objdump/MachODump.cpp
  501                                     const RelocationRef &RelRef,
 1474   for (const RelocationRef &Reloc : Section.relocations()) {
 1624   for (const RelocationRef &Reloc : Section.relocations()) {
 2638     for (const RelocationRef &Reloc : info->S.relocations()) {
 2710       for (const RelocationRef &Reloc : info->O->external_relocations()) {
 2748     for (const RelocationRef &Reloc : info->S.relocations()) {
 3340   for (const RelocationRef &Reloc : S.relocations()) {
 6891     for (const RelocationRef &Reloc : info->S.relocations()) {
 7781   RelocationRef FunctionReloc;
 7782   RelocationRef PersonalityReloc;
 7783   RelocationRef LSDAReloc;
 7816                                       const RelocationRef &Reloc, uint64_t Addr,
 7866                                  const RelocationRef &Reloc, uint64_t Addr) {
 7906   for (const RelocationRef &Reloc : CompactUnwind.relocations()) {
tools/llvm-objdump/WasmDump.cpp
   30                                          const RelocationRef &RelRef,
tools/llvm-objdump/llvm-objdump.cpp
  490 bool isRelocAddressLess(RelocationRef A, RelocationRef B) {
  490 bool isRelocAddressLess(RelocationRef A, RelocationRef B) {
  494 static Error getRelocationValueString(const RelocationRef &Rel,
  511 static bool getHidden(RelocationRef RelRef) {
  673 static void printRelocation(StringRef FileName, const RelocationRef &Rel,
  692                          std::vector<RelocationRef> *Rels = nullptr) {
  736                  std::vector<RelocationRef> *Rels) override {
  759     std::vector<RelocationRef>::const_iterator RelCur = Rels->begin();
  760     std::vector<RelocationRef>::const_iterator RelEnd = Rels->end();
  806                  std::vector<RelocationRef> *Rels) override {
  858                  std::vector<RelocationRef> *Rels) override {
  994 static std::map<SectionRef, std::vector<RelocationRef>>
  996   std::map<SectionRef, std::vector<RelocationRef>> Ret;
 1010     std::vector<RelocationRef> &V = Ret[*Relocated];
 1011     for (const RelocationRef &R : Sec.relocations())
 1127   std::map<SectionRef, std::vector<RelocationRef>> RelocMap;
 1274     std::vector<RelocationRef> Rels = RelocMap[Section];
 1275     std::vector<RelocationRef>::const_iterator RelCur = Rels.begin();
 1276     std::vector<RelocationRef>::const_iterator RelEnd = Rels.end();
 1638       for (const RelocationRef &Reloc : Section.relocations()) {
 1674     for (const RelocationRef &Reloc : Section.relocations()) {
tools/llvm-objdump/llvm-objdump.h
   97                                   const object::RelocationRef &Rel,
  100                                    const object::RelocationRef &Rel,
  103                                    const object::RelocationRef &RelRef,
  106                                     const object::RelocationRef &RelRef,
  111 bool isRelocAddressLess(object::RelocationRef A, object::RelocationRef B);
  111 bool isRelocAddressLess(object::RelocationRef A, object::RelocationRef B);
tools/llvm-readobj/ARMWinEHPrinter.cpp
  244   for (const auto &Relocation : Section.relocations()) {
tools/llvm-readobj/COFFDumper.cpp
  111   void printRelocation(const SectionRef &Section, const RelocationRef &Reloc,
  175   typedef DenseMap<const coff_section*, std::vector<RelocationRef> > RelocMapTy;
  263   for (const auto &Relocation : Relocations) {
  334   for (const auto &Relocation : Relocations) {
  592     for (const RelocationRef &Reloc : S.relocations())
 1343       for (const RelocationRef &Reloc : Sec.relocations())
 1374     for (const RelocationRef &Reloc : Section.relocations()) {
 1392                                  const RelocationRef &Reloc, uint64_t Bias) {
tools/llvm-readobj/ELFDumper.cpp
  425   void printStackSize(const ELFObjectFile<ELFT> *Obj, RelocationRef Rel,
 4772                                      RelocationRef Reloc,
 4947     for (const RelocationRef &Reloc : RelocSec.relocations()) {
tools/llvm-readobj/MachODumper.cpp
   57   void printRelocation(const RelocationRef &Reloc);
   59   void printRelocation(const MachOObjectFile *Obj, const RelocationRef &Reloc);
  494       for (const RelocationRef &Reloc : Section.relocations())
  521     for (const RelocationRef &Reloc : Section.relocations()) {
  538 void MachODumper::printRelocation(const RelocationRef &Reloc) {
  543                                   const RelocationRef &Reloc) {
tools/llvm-readobj/WasmDumper.cpp
   71   void printRelocation(const SectionRef &Section, const RelocationRef &Reloc);
   85                                  const RelocationRef &Reloc) {
  141     for (const RelocationRef &Reloc : Section.relocations()) {
  212       for (const RelocationRef &Reloc : Section.relocations())
tools/obj2yaml/coff2yaml.cpp
  197     for (const auto &Reloc : ObjSection.relocations()) {
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
  136     inline _GLIBCXX17_CONSTEXPR _Tp*
  137     addressof(_Tp& __r) noexcept
  143     const _Tp* addressof(const _Tp&&) = delete;
  143     const _Tp* addressof(const _Tp&&) = delete;
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/predefined_ops.h
  176 	operator()(_Iterator __it, _Value& __val)
  214 	operator()(_Value& __val, _Iterator __it)
usr/include/c++/7.4.0/bits/stl_algo.h
 2040 		  const _Tp& __val, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_algobase.h
  947 		  const _Tp& __val, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_construct.h
   74     _Construct(_T1* __p, _Args&&... __args)
   74     _Construct(_T1* __p, _Args&&... __args)
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_heap.h
  129 		_Distance __holeIndex, _Distance __topIndex, _Tp __value,
  215 		  _Distance __len, _Tp __value, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  123       typedef _Tp        value_type;
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
usr/include/c++/7.4.0/bits/stl_tempbuf.h
   84     pair<_Tp*, ptrdiff_t>
   88 	__gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
   94 	  _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 
   94 	  _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 
  112     return_temporary_buffer(_Tp* __p)
  128       typedef _Tp         value_type;
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
   84 	new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list
   50       typedef _E 		value_type;
   51       typedef const _E& 	reference;
   52       typedef const _E& 	const_reference;
   54       typedef const _E* 	iterator;
   55       typedef const _E* 	const_iterator;
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1215     : public __and_<is_constructible<_Tp, _Args...>,
 1216 		    __is_nt_constructible_impl<_Tp, _Args...>>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1252     : public __is_nothrow_move_constructible_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_move_assignable_impl<_Tp>
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };
 2574       typename remove_reference<_Tp>::type>::type>::type