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

Declarations

tools/lldb/include/lldb/Core/Value.h
   32 class Type;
tools/lldb/include/lldb/lldb-forward.h
  250 class Type;
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   32 class Type;

References

tools/lldb/include/lldb/Core/Value.h
  164   Type *GetType();
tools/lldb/include/lldb/Symbol/Function.h
  373            Type *func_type, const AddressRange &range);
  483   Type *GetType();
  490   const Type *GetType() const;
  577   Type *m_type; ///< The function prototype type for this function that include
tools/lldb/include/lldb/Symbol/SymbolFile.h
  138   virtual Type *ResolveTypeUID(lldb::user_id_t type_uid) = 0;
tools/lldb/include/lldb/Symbol/Type.h
   56   Type *operator->() { return GetType(); }
   58   Type *GetType();
   65 class Type : public std::enable_shared_from_this<Type>, public UserID {
  191   static int Compare(const Type &a, const Type &b);
  191   static int Compare(const Type &a, const Type &b);
  199   void SetEncodingType(Type *encoding_type) { m_encoding_type = encoding_type; }
  214   Type *m_encoding_type;
  232   Type *GetEncodingType();
tools/lldb/include/lldb/Symbol/Variable.h
   61   Type *GetType();
tools/lldb/include/lldb/lldb-forward.h
  450 typedef std::shared_ptr<lldb_private::Type> TypeSP;
  451 typedef std::weak_ptr<lldb_private::Type> TypeWP;
tools/lldb/source/API/SBFunction.cpp
  108     Type *func_type = m_opaque_ptr->GetType();
  212     Type *function_type = m_opaque_ptr->GetType();
tools/lldb/source/API/SBModule.cpp
  537       Type *type_ptr = symfile->ResolveTypeUID(uid);
tools/lldb/source/Core/Address.cpp
  722               Type *type = var->GetType();
tools/lldb/source/Core/Module.cpp
  969   if (Type::GetTypeScopeAndBasename(type_name_cstr, type_scope, type_basename,
tools/lldb/source/Core/Value.cpp
  137 Type *Value::GetType() {
  249       Type *lldb_type = GetType();
  257         Type *variable_type = variable->GetType();
tools/lldb/source/Core/ValueObjectVariable.cpp
   67   Type *var_type = m_variable_sp->GetType();
   74   Type *var_type = m_variable_sp->GetType();
   81   Type *var_type = m_variable_sp->GetType();
   88   Type *var_type = m_variable_sp->GetType();
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
  934           Type *this_type = this_var->GetType();
 1060           Type *self_type = self_var->GetType();
 1521   Type *var_type = var->GetType();
 1905     Type *function_type = function->GetType();
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
  278           Type *self_type = self_variable_sp->GetType();
tools/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
   81   Type *ResolveTypeUID(lldb::user_id_t type_uid) override { return nullptr; }
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
   38   CompleteTypeFromDWARF(const DWARFDIE &die, lldb_private::Type *type,
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  189   TypeSP type_sp(new Type(
  191       nullptr, LLDB_INVALID_UID, Type::eEncodingInvalid,
  192       &dwo_type_sp->GetDeclaration(), type, Type::eResolveStateForward));
  390   Type *type_ptr = dwarf->GetDIEToType().lookup(die.GetDIE());
  417   Type::ResolveState resolve_state = Type::eResolveStateUnresolved;
  417   Type::ResolveState resolve_state = Type::eResolveStateUnresolved;
  419   Type::EncodingDataType encoding_data_type = Type::eEncodingIsUID;
  419   Type::EncodingDataType encoding_data_type = Type::eEncodingIsUID;
  479         resolve_state = Type::eResolveStateFull;
  488       resolve_state = Type::eResolveStateFull;
  495       encoding_data_type = Type::eEncodingIsPointerUID;
  498       encoding_data_type = Type::eEncodingIsLValueReferenceUID;
  501       encoding_data_type = Type::eEncodingIsRValueReferenceUID;
  504       encoding_data_type = Type::eEncodingIsTypedefUID;
  507       encoding_data_type = Type::eEncodingIsConstUID;
  510       encoding_data_type = Type::eEncodingIsRestrictUID;
  513       encoding_data_type = Type::eEncodingIsVolatileUID;
  517     if (!clang_type && (encoding_data_type == Type::eEncodingIsPointerUID ||
  518                         encoding_data_type == Type::eEncodingIsTypedefUID)) {
  544                   encoding_data_type = Type::eEncodingIsUID;
  546                   resolve_state = Type::eResolveStateFull;
  571             encoding_data_type = Type::eEncodingIsUID;
  573             resolve_state = Type::eResolveStateFull;
  583             encoding_data_type = Type::eEncodingIsUID;
  585             resolve_state = Type::eResolveStateFull;
  594             encoding_data_type = Type::eEncodingIsUID;
  596             resolve_state = Type::eResolveStateFull;
  598         } else if (encoding_data_type == Type::eEncodingIsPointerUID &&
  616                 encoding_data_type = Type::eEncodingIsUID;
  618                 resolve_state = Type::eResolveStateFull;
  626     type_sp = std::make_shared<Type>(
  695         Type *enumerator_type =
  723     type_sp = std::make_shared<Type>(
  725         dwarf->GetUID(attrs.type.Reference()), Type::eEncodingIsUID,
  726         &attrs.decl, clang_type, Type::eResolveStateForward);
  765     Type *func_type = NULL;
  871           Type *class_type = dwarf->ResolveType(decl_ctx_die);
 1151     type_sp = std::make_shared<Type>(
 1153         Type::eEncodingIsUID, &attrs.decl, clang_type, Type::eResolveStateFull);
 1153         Type::eEncodingIsUID, &attrs.decl, clang_type, Type::eResolveStateFull);
 1162     Type *element_type = dwarf->ResolveTypeUID(type_die, true);
 1233       type_sp = std::make_shared<Type>(
 1235           dwarf->GetUID(type_die), Type::eEncodingIsUID, &attrs.decl,
 1236           clang_type, Type::eResolveStateFull);
 1243     Type *pointee_type = dwarf->ResolveTypeUID(attrs.type.Reference(), true);
 1244     Type *class_type =
 1255       type_sp = std::make_shared<Type>(
 1257           LLDB_INVALID_UID, Type::eEncodingIsUID, nullptr, clang_type,
 1258           Type::eResolveStateForward);
 1560   type_sp = std::make_shared<Type>(die.GetID(), dwarf, attrs.name,
 1562                                    Type::eEncodingIsUID, &attrs.decl,
 1563                                    clang_type, Type::eResolveStateForward);
 1799             Type *lldb_type = die.ResolveTypeUID(form_value.Reference());
 1887                                                 lldb_private::Type *type,
 2427       Type *func_type = dwarf->GetDIEToType().lookup(die.GetDIE());
 2646           Type *var_type = die.ResolveTypeUID(encoding_form.Reference());
 2659           Type *member_type = die.ResolveTypeUID(encoding_form.Reference());
 3010         Type *base_class_type = die.ResolveTypeUID(encoding_form.Reference());
 3134             Type *this_type =
 3138               if (encoding_mask & Type::eEncodingIsPointerUID) {
 3141                 if (encoding_mask & (1u << Type::eEncodingIsConstUID))
 3143                 if (encoding_mask & (1u << Type::eEncodingIsVolatileUID))
 3152           Type *type = die.ResolveTypeUID(param_type_die_form.Reference());
 3289 Type *DWARFASTParserClang::GetTypeForDIE(const DWARFDIE &die) {
 3350     Type *type = GetTypeForDIE(die);
 3438       Type *type = die.GetDWARF()->ResolveType(die);
 3621     lldb_private::Type *class_type, std::vector<DWARFDIE> &failures) {
 3757       Type *src_child_type =
 3801           Type *src_child_type =
 3856         Type *src_child_type =
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
   53   CompleteTypeFromDWARF(const DWARFDIE &die, lldb_private::Type *type,
  134   lldb_private::Type *GetTypeForDIE(const DWARFDIE &die);
  145                                   lldb_private::Type *class_type,
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
  309 lldb_private::Type *DWARFDIE::ResolveType() const {
  316 lldb_private::Type *DWARFDIE::ResolveTypeUID(const DWARFDIE &die) const {
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
   42   lldb_private::Type *ResolveType() const;
   45   lldb_private::Type *ResolveTypeUID(const DWARFDIE &die) const;
tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  323         Type *type = ResolveTypeUID(die, assert_not_being_parsed);
  370   for (Type *type : type_set) {
 1317 Type *SymbolFileDWARF::ResolveTypeUID(lldb::user_id_t type_uid) {
 1338 Type *SymbolFileDWARF::ResolveTypeUID(const DIERef &die_ref) {
 1342 Type *SymbolFileDWARF::ResolveTypeUID(const DWARFDIE &die,
 1434     Type *type = GetDIEToType().lookup(dwarf_die.GetDIE());
 1451 Type *SymbolFileDWARF::ResolveType(const DWARFDIE &die,
 1455     Type *type = GetTypeForDIE(die, resolve_function_context).get();
 2409       Type *matching_type = ResolveType(die, true, true);
 2485     if (Type *matching_type = ResolveType(die, true, true))
 2553     Type *type_ptr = GetDIEToType().lookup(die.GetDIE());
 2721             Type *resolved_type = ResolveType(type_die, false, true);
 2935                 Type *resolved_type = ResolveType(type_die, false);
tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  128   lldb_private::Type *ResolveTypeUID(lldb::user_id_t type_uid) override;
  135   lldb_private::Type *ResolveType(const DWARFDIE &die,
  307   typedef llvm::DenseMap<const DWARFDebugInfoEntry *, lldb_private::Type *>
  361   lldb_private::Type *ResolveTypeUID(const DWARFDIE &die,
  364   lldb_private::Type *ResolveTypeUID(const DIERef &die_ref);
  418   typedef std::set<lldb_private::Type *> TypeSet;
tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  718 Type *SymbolFileDWARFDebugMap::ResolveTypeUID(lldb::user_id_t type_uid) {
tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
   74   lldb_private::Type *ResolveTypeUID(lldb::user_id_t type_uid) override;
tools/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
  460   return std::make_shared<Type>(toOpaqueUid(type_id), this, ConstString(name),
  462                                 LLDB_INVALID_UID, Type::eEncodingIsUID, decl,
  463                                 ct, Type::eResolveStateFull);
  480   return std::make_shared<Type>(toOpaqueUid(type_id), this, ConstString(),
  482                                 Type::eEncodingIsUID, decl, ct,
  483                                 Type::eResolveStateFull);
  491     return std::make_shared<Type>(
  493         Type::eEncodingIsUID, decl, ct, Type::eResolveStateFull);
  493         Type::eEncodingIsUID, decl, ct, Type::eResolveStateFull);
  512     return std::make_shared<Type>(
  514         Type::eEncodingIsUID, decl, ct, Type::eResolveStateFull);
  514         Type::eEncodingIsUID, decl, ct, Type::eResolveStateFull);
  524   return std::make_shared<Type>(uid, this, ConstString(type_name), size,
  525                                 nullptr, LLDB_INVALID_UID, Type::eEncodingIsUID,
  526                                 decl, ct, Type::eResolveStateFull);
  557   return std::make_shared<Type>(toOpaqueUid(type_id), this, ConstString(uname),
  559                                 Type::eEncodingIsUID, decl, ct,
  560                                 Type::eResolveStateForward);
  583   return std::make_shared<lldb_private::Type>(
  586       lldb_private::Type::eEncodingIsUID, decl, ct,
  587       lldb_private::Type::eResolveStateForward);
  596   TypeSP array_sp = std::make_shared<lldb_private::Type>(
  598       LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID, decl, ct,
  599       lldb_private::Type::eResolveStateFull);
  609   return std::make_shared<lldb_private::Type>(
  611       lldb_private::Type::eEncodingIsUID, decl, ct,
  612       lldb_private::Type::eResolveStateFull);
  619   return std::make_shared<lldb_private::Type>(
  621       lldb_private::Type::eEncodingIsUID, decl, ct,
  622       lldb_private::Type::eResolveStateFull);
 1385   return std::make_shared<lldb_private::Type>(
 1387       nullptr, target_type->GetID(), lldb_private::Type::eEncodingIsTypedefUID,
 1389       lldb_private::Type::eResolveStateForward);
 1533 Type *SymbolFileNativePDB::ResolveTypeUID(lldb::user_id_t type_uid) {
tools/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
  103   Type *ResolveTypeUID(lldb::user_id_t type_uid) override;
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  408     Type::ResolveStateTag type_resolve_state_tag;
  445         type_resolve_state_tag = Type::eResolveStateFull;
  454         type_resolve_state_tag = Type::eResolveStateForward;
  457       type_resolve_state_tag = Type::eResolveStateForward;
  466     return std::make_shared<lldb_private::Type>(
  469         lldb_private::Type::eEncodingIsUID, decl, clang_type,
  535     return std::make_shared<lldb_private::Type>(
  537         nullptr, LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID, decl,
  538         ast_enum, lldb_private::Type::eResolveStateFull);
  544     lldb_private::Type *target_type =
  580     return std::make_shared<lldb_private::Type>(
  583         lldb_private::Type::eEncodingIsTypedefUID, decl, ast_typedef,
  584         lldb_private::Type::eResolveStateFull);
  618       lldb_private::Type *arg_type =
  630     lldb_private::Type *return_type =
  648     return std::make_shared<lldb_private::Type>(
  651         lldb_private::Type::eEncodingIsUID, decl, func_sig_ast_type,
  652         lldb_private::Type::eResolveStateFull);
  665     lldb_private::Type *element_type =
  683     TypeSP type_sp = std::make_shared<lldb_private::Type>(
  685         bytes, nullptr, LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID,
  686         decl, array_ast_type, lldb_private::Type::eResolveStateFull);
  712     return std::make_shared<lldb_private::Type>(
  714         nullptr, LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID, decl,
  715         builtin_ast_type, lldb_private::Type::eResolveStateFull);
  720     Type *pointee_type = m_ast.GetSymbolFile()->ResolveTypeUID(
  738       return std::make_shared<lldb_private::Type>(
  741           lldb_private::Type::eEncodingIsUID, decl, pointer_ast_type,
  742           lldb_private::Type::eResolveStateForward);
  763     return std::make_shared<lldb_private::Type>(
  766         lldb_private::Type::eEncodingIsUID, decl, pointer_ast_type,
  767         lldb_private::Type::eResolveStateFull);
  927     Type *type = symbol_file->ResolveTypeUID(sym_id);
  944           Type *arg_type = symbol_file->ResolveTypeUID(arg->getTypeId());
  965     Type *type = symbol_file->ResolveTypeUID(sym_id);
 1347   Type *method_type = symbol_file.ResolveTypeUID(method.getSymIndexId());
tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
  289   lldb_private::Type *func_type = ResolveTypeUID(pdb_func.getSymIndexId());
  551 lldb_private::Type *SymbolFilePDB::ResolveTypeUID(lldb::user_id_t type_uid) {
 1606     if (auto *type = ResolveTypeUID(pdb_symbol.getSymIndexId())) {
tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
   74   lldb_private::Type *ResolveTypeUID(lldb::user_id_t type_uid) override;
  202   typedef std::vector<lldb_private::Type *> TypeCollection;
tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
  231 Type *SymbolFileSymtab::ResolveTypeUID(lldb::user_id_t type_uid) {
tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
   63   lldb_private::Type *ResolveTypeUID(lldb::user_id_t type_uid) override;
tools/lldb/source/Symbol/Block.cpp
  335       Type *func_type = function->GetType();
tools/lldb/source/Symbol/Function.cpp
  189                    lldb::user_id_t type_uid, const Mangled &mangled, Type *type,
  457 Type *Function::GetType() {
  476 const Type *Function::GetType() const { return m_type; }
  479   Type *function_type = GetType();
tools/lldb/source/Symbol/SymbolContext.cpp
  220     Type *func_type = function->GetType();
  344     Type *func_type = function->GetType();
tools/lldb/source/Symbol/Type.cpp
  133 Type *SymbolFileType::GetType() {
  135     Type *resolved_type = m_symbol_file.ResolveTypeUID(GetID());
  329 Type *Type::GetEncodingType() {
  348     Type *encoding_type = GetEncodingType();
  388     Type *typedef_type = m_symbol_file->ResolveTypeUID(m_encoding_uid);
  465   Type *encoding_type = nullptr;
  622   Type *encoding_type = GetEncodingType();
  644 int Type::Compare(const Type &a, const Type &b) {
  644 int Type::Compare(const Type &a, const Type &b) {
tools/lldb/source/Symbol/TypeList.cpp
  105   if (!Type::GetTypeScopeAndBasename(qualified_typename, type_scope,
  126     Type *the_type = pos->get();
  141       if (Type::GetTypeScopeAndBasename(match_type_name, match_type_scope,
  200     Type *the_type = pos->get();
tools/lldb/source/Symbol/TypeMap.cpp
  135   if (!Type::GetTypeScopeAndBasename(qualified_typename, type_scope,
  156     Type *the_type = pos->second.get();
  171       if (Type::GetTypeScopeAndBasename(match_type_name, match_type_scope,
  230     Type *the_type = pos->second.get();
tools/lldb/source/Symbol/Variable.cpp
   98 Type *Variable::GetType() {
  113     Type *type = m_symfile_type_sp->GetType();
  207   Type *type = GetType();
  214   Type *type = GetType();
  723                 Type *variable_type = variable->GetType();
tools/lldb/source/Target/StackFrame.cpp
  583       Type *var_type = variable_sp->GetType();
tools/lldb/source/Target/Thread.cpp
 1669       Type *function_type = sc.function->GetType();
tools/lldb/unittests/Symbol/TestType.cpp
   25       Type::GetTypeScopeAndBasename(full_type, scope, name, type_class);
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)
  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/shared_ptr.h
   93     class shared_ptr : public __shared_ptr<_Tp>
  107       using element_type = typename __shared_ptr<_Tp>::element_type;
  129 	shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
  236 	shared_ptr(const shared_ptr<_Yp>& __r) noexcept
  253 	shared_ptr(shared_ptr<_Yp>&& __r) noexcept
  265 	explicit shared_ptr(const weak_ptr<_Yp>& __r)
  299 	_Assignable<const shared_ptr<_Yp>&>
  300 	operator=(const shared_ptr<_Yp>& __r) noexcept
  324 	_Assignable<shared_ptr<_Yp>>
  325 	operator=(shared_ptr<_Yp>&& __r) noexcept
  352       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t)
  368     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
  368     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
  373     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
  378     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
  520     class weak_ptr : public __weak_ptr<_Tp>
  537 	weak_ptr(const shared_ptr<_Yp>& __r) noexcept
  543 	weak_ptr(const weak_ptr<_Yp>& __r) noexcept
  549 	weak_ptr(weak_ptr<_Yp>&& __r) noexcept
  556 	_Assignable<const weak_ptr<_Yp>&>
  557 	operator=(const weak_ptr<_Yp>& __r) noexcept
  564 	_Assignable<const shared_ptr<_Yp>&>
  565 	operator=(const shared_ptr<_Yp>& __r) noexcept
  575 	_Assignable<weak_ptr<_Yp>>
  576 	operator=(weak_ptr<_Yp>&& __r) noexcept
  582       shared_ptr<_Tp>
  638       shared_ptr<_Tp>
  642       shared_ptr<const _Tp>
  660 	_M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
  672       mutable weak_ptr<_Tp>  _M_weak_this;
  687     inline shared_ptr<_Tp>
  702     inline shared_ptr<_Tp>
  705       typedef typename std::remove_const<_Tp>::type _Tp_nc;
  706       return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
usr/include/c++/7.4.0/bits/shared_ptr_base.h
  882     : is_convertible<_Yp*, _Tp*>::type
  882     : is_convertible<_Yp*, _Tp*>::type
  946     : is_convertible<_Yp*, _Tp*>::type
  946     : is_convertible<_Yp*, _Tp*>::type
  956       using element_type = _Tp;
 1035     : public __shared_ptr_access<_Tp, _Lp>
 1038       using element_type = typename remove_extent<_Tp>::type;
 1078 	__shared_ptr(_Yp* __p)
 1081 	  static_assert( !is_void<_Yp>::value, "incomplete type" );
 1082 	  static_assert( sizeof(_Yp) > 0, "incomplete type" );
 1126 	__shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
 1138 	__shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
 1146 	explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
 1192 	_Assignable<_Yp>
 1193 	operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
 1218 	_Assignable<_Yp>
 1219 	operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
 1272       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
 1321 	    rebind_traits<typename std::remove_cv<_Tp>::type> __traits;
 1344       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t)
 1366 	: __not_<is_array<_Tp>> { }; // No enable shared_from_this for arrays
 1369 	typename enable_if<__has_esft_base<_Yp2>::value>::type
 1370 	_M_enable_shared_from_this_with(_Yp* __p) noexcept
 1409     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
 1415     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
 1420     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
 1601       using element_type = typename remove_extent<_Tp>::type;
 1626 	__weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
 1631 	__weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
 1640 	__weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
 1648 	_Assignable<_Yp>
 1649 	operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
 1657 	_Assignable<_Yp>
 1658 	operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
 1675 	_Assignable<_Yp>
 1676 	operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
 1684       __shared_ptr<_Tp, _Lp>
 1720       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
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)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1942     { typedef _Tp     type; };