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

Declarations

tools/clang/include/clang/AST/ASTImporter.h
   38 class CXXBaseSpecifier;
tools/clang/include/clang/AST/Expr.h
   43   class CXXBaseSpecifier;
tools/clang/include/clang/AST/ExprObjC.h
   46 class CXXBaseSpecifier;
tools/clang/include/clang/AST/ExternalASTSource.h
   42 class CXXBaseSpecifier;
tools/clang/include/clang/Analysis/CFG.h
   42 class CXXBaseSpecifier;
tools/clang/include/clang/Sema/Initialization.h
   42 class CXXBaseSpecifier;
tools/clang/include/clang/Sema/Ownership.h
   31 class CXXBaseSpecifier;
tools/clang/include/clang/Serialization/ASTWriter.h
   64 class CXXBaseSpecifier;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
   36 class CXXBaseSpecifier;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
   37 class CXXBaseSpecifier;
tools/clang/tools/libclang/CXCursor.h
   26 class CXXBaseSpecifier;
tools/lldb/include/lldb/Core/ClangForward.h
   33 class CXXBaseSpecifier;
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   20 class CXXBaseSpecifier;

References

include/llvm/ADT/ArrayRef.h
   43     using iterator = const T *;
   44     using const_iterator = const T *;
   50     const T *Data = nullptr;
   66     /*implicit*/ ArrayRef(const T &OneElt)
   70     /*implicit*/ ArrayRef(const T *data, size_t length)
   74     ArrayRef(const T *begin, const T *end)
   74     ArrayRef(const T *begin, const T *end)
   81     /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
   87     /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
   92     /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
   97     /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
  100     /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  145     const T *data() const { return Data; }
  151     const T &front() const {
  157     const T &back() const {
  163     template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
  178     ArrayRef<T> slice(size_t N, size_t M) const {
  184     ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
  187     ArrayRef<T> drop_front(size_t N = 1) const {
  193     ArrayRef<T> drop_back(size_t N = 1) const {
  200     template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
  206     template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
  211     ArrayRef<T> take_front(size_t N = 1) const {
  218     ArrayRef<T> take_back(size_t N = 1) const {
  226     template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
  232     template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
  239     const T &operator[](size_t Index) const {
  249     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  257     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  263     std::vector<T> vec() const {
  270     operator std::vector<T>() const {
  456   ArrayRef<T> makeArrayRef(const T *data, size_t length) {
  456   ArrayRef<T> makeArrayRef(const T *data, size_t length) {
include/llvm/Support/Casting.h
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  309   return cast<X>(Val);
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTImporter.h
   89         llvm::DenseMap<const CXXBaseSpecifier *, CXXBaseSpecifier *>;
   89         llvm::DenseMap<const CXXBaseSpecifier *, CXXBaseSpecifier *>;
  495     llvm::Expected<CXXBaseSpecifier *> Import(const CXXBaseSpecifier *FromSpec);
  495     llvm::Expected<CXXBaseSpecifier *> Import(const CXXBaseSpecifier *FromSpec);
tools/clang/include/clang/AST/CXXInheritance.h
   48   const CXXBaseSpecifier *Base;
tools/clang/include/clang/AST/DeclCXX.h
  338     CXXBaseSpecifier *getBases() const {
  345     CXXBaseSpecifier *getVBases() const {
  351     ArrayRef<CXXBaseSpecifier> bases() const {
  355     ArrayRef<CXXBaseSpecifier> vbases() const {
  360     CXXBaseSpecifier *getBasesSlowCase() const;
  361     CXXBaseSpecifier *getVBasesSlowCase() const;
  489   using base_class_iterator = CXXBaseSpecifier *;
  492   using base_class_const_iterator = const CXXBaseSpecifier *;
  580   void setBases(CXXBaseSpecifier const * const *Bases, unsigned NumBases);
 1541       llvm::function_ref<bool(const CXXBaseSpecifier *Specifier,
 1575   static bool FindBaseClass(const CXXBaseSpecifier *Specifier,
 1587   static bool FindVirtualBaseClass(const CXXBaseSpecifier *Specifier,
 1596   static bool FindTagMember(const CXXBaseSpecifier *Specifier,
 1604   static bool FindOrdinaryMember(const CXXBaseSpecifier *Specifier,
 1614   FindOrdinaryMemberInDependentClasses(const CXXBaseSpecifier *Specifier,
 1622   static bool FindOMPReductionMember(const CXXBaseSpecifier *Specifier,
 1630   static bool FindOMPMapperMember(const CXXBaseSpecifier *Specifier,
 1639   static bool FindNestedNameSpecifierMember(const CXXBaseSpecifier *Specifier,
tools/clang/include/clang/AST/Expr.h
   59 typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
 2188   explicit OffsetOfNode(const CXXBaseSpecifier *Base)
 2212   CXXBaseSpecifier *getBase() const {
 3130   const CXXBaseSpecifier * const *path_buffer() const {
 3133   CXXBaseSpecifier **path_buffer();
 3193   typedef CXXBaseSpecifier **path_iterator;
 3194   typedef const CXXBaseSpecifier *const *path_const_iterator;
 3251       private llvm::TrailingObjects<ImplicitCastExpr, CXXBaseSpecifier *> {
 3348       private llvm::TrailingObjects<CStyleCastExpr, CXXBaseSpecifier *> {
tools/clang/include/clang/AST/ExprCXX.h
  411       private llvm::TrailingObjects<CXXStaticCastExpr, CXXBaseSpecifier *> {
  447       private llvm::TrailingObjects<CXXDynamicCastExpr, CXXBaseSpecifier *> {
  490                                     CXXBaseSpecifier *> {
  529       private llvm::TrailingObjects<CXXConstCastExpr, CXXBaseSpecifier *> {
 1690       private llvm::TrailingObjects<CXXFunctionalCastExpr, CXXBaseSpecifier *> {
 4820       private llvm::TrailingObjects<BuiltinBitCastExpr, CXXBaseSpecifier *> {
tools/clang/include/clang/AST/ExprObjC.h
 1640       private llvm::TrailingObjects<ObjCBridgedCastExpr, CXXBaseSpecifier *> {
tools/clang/include/clang/AST/ExternalASTSource.h
  141   virtual CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset);
  359   explicit LazyOffsetPtr(T *Ptr) : Ptr(reinterpret_cast<uint64_t>(Ptr)) {}
  400   T* get(ExternalASTSource *Source) const {
  610     LazyOffsetPtr<CXXBaseSpecifier, uint64_t,
tools/clang/include/clang/AST/JSONNodeDumper.h
  160   llvm::json::Object createCXXBaseSpecifier(const CXXBaseSpecifier &BS);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
  283   bool TraverseCXXBaseSpecifier(const CXXBaseSpecifier &Base);
 1845     const CXXBaseSpecifier &Base) {
 1855     for (const auto &I : D->bases()) {
tools/clang/include/clang/Analysis/CFG.h
  442   CFGBaseDtor(const CXXBaseSpecifier *base)
  445   const CXXBaseSpecifier *getBaseSpecifier() const {
 1139   void appendBaseDtor(const CXXBaseSpecifier *BS, BumpVectorContext &C) {
tools/clang/include/clang/Sema/Initialization.h
  345   InitializeBase(ASTContext &Context, const CXXBaseSpecifier *Base,
  452   const CXXBaseSpecifier *getBaseSpecifier() const {
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
   86   CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset) override;
tools/clang/include/clang/Sema/Ownership.h
  266   using BaseResult = ActionResult<CXXBaseSpecifier *>;
tools/clang/include/clang/Sema/Sema.h
   86   typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
 6441   CXXBaseSpecifier *CheckBaseSpecifier(CXXRecordDecl *Class,
 6456                             MutableArrayRef<CXXBaseSpecifier *> Bases);
 6458                            MutableArrayRef<CXXBaseSpecifier *> Bases);
tools/clang/include/clang/Serialization/ASTReader.h
 1896   CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset) override;
 2175   CXXBaseSpecifier ReadCXXBaseSpecifier(ModuleFile &F,
 2605   CXXBaseSpecifier readCXXBaseSpecifier() {
tools/clang/include/clang/Serialization/ASTWriter.h
  881   void AddCXXBaseSpecifier(const CXXBaseSpecifier &Base);
  884   void AddCXXBaseSpecifiers(ArrayRef<CXXBaseSpecifier> Bases);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
   83   llvm::ImmutableList<const CXXBaseSpecifier *> L;
   87                       llvm::ImmutableList<const CXXBaseSpecifier *> L)
   90   using iterator = llvm::ImmutableList<const CXXBaseSpecifier *>::iterator;
   96                       llvm::ImmutableList<const CXXBaseSpecifier *> L);
  101   llvm::ImmutableList<const CXXBaseSpecifier *> getCXXBaseList() const {
  118   llvm::ImmutableList<const CXXBaseSpecifier *>::Factory CXXBaseListFactory;
  229       llvm::ImmutableList<const CXXBaseSpecifier *> L);
  239   llvm::ImmutableList<const CXXBaseSpecifier *> getEmptyCXXBaseList() {
  243   llvm::ImmutableList<const CXXBaseSpecifier *> prependCXXBase(
  244       const CXXBaseSpecifier *CBS,
  245       llvm::ImmutableList<const CXXBaseSpecifier *> L) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  302   Loc getLValue(const CXXBaseSpecifier &BaseSpec, const SubRegion *Super) const;
  707 inline Loc ProgramState::getLValue(const CXXBaseSpecifier &BaseSpec,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  544   using iterator = llvm::ImmutableList<const CXXBaseSpecifier *>::iterator;
tools/clang/lib/AST/ASTContext.cpp
  591       for (const auto &I : RD->bases()) {
  606       for (const auto &I : RD->vbases()) {
 2441     for (const auto Base : ClassDecl->bases()) {
 7154     for (const auto &BI : CXXRec->bases()) {
 7175     for (const auto &BI : CXXRec->vbases()) {
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
 1847     SmallVector<CXXBaseSpecifier *, 4> Bases;
 1848     for (const auto &Base1 : FromCXX->bases()) {
 1875           new (Importer.getToContext()) CXXBaseSpecifier(
 8560 Expected<CXXBaseSpecifier *>
 8561 ASTImporter::Import(const CXXBaseSpecifier *BaseSpec) {
 8575   CXXBaseSpecifier *Imported = new (ToContext) CXXBaseSpecifier(
 8575   CXXBaseSpecifier *Imported = new (ToContext) CXXBaseSpecifier(
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
 1287         const CXXBaseSpecifier *Base1 = D1CXX->bases_begin();
tools/clang/lib/AST/CXXInheritance.cpp
  157     for (const auto &I : Record->bases()) {
  201   for (const auto &BaseSpec : Record->bases()) {
  396 bool CXXRecordDecl::FindBaseClass(const CXXBaseSpecifier *Specifier,
  405 bool CXXRecordDecl::FindVirtualBaseClass(const CXXBaseSpecifier *Specifier,
  415 bool CXXRecordDecl::FindTagMember(const CXXBaseSpecifier *Specifier,
  445 bool CXXRecordDecl::FindOrdinaryMember(const CXXBaseSpecifier *Specifier,
  454     const CXXBaseSpecifier *Specifier, CXXBasePath &Path,
  474 bool CXXRecordDecl::FindOMPReductionMember(const CXXBaseSpecifier *Specifier,
  489 bool CXXRecordDecl::FindOMPMapperMember(const CXXBaseSpecifier *Specifier,
  505 FindNestedNameSpecifierMember(const CXXBaseSpecifier *Specifier,
  609   for (const auto &Base : RD->bases()) {
  776   for (const auto &I : RD->bases()) {
  798   for (const auto &I : bases()) {
tools/clang/lib/AST/DeclCXX.cpp
  109 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const {
  113 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const {
  174     for (const CXXBaseSpecifier &BaseSpec : RD->bases()) {
  186 CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
  209   SmallVector<const CXXBaseSpecifier *, 8> VBases;
  211   data().Bases = new(C) CXXBaseSpecifier [NumBases];
  216     const CXXBaseSpecifier *Base = Bases[i];
  283     for (const auto &VBase : BaseClassDecl->vbases()) {
  466   data().VBases = new (C) CXXBaseSpecifier[VBases.size()];
 1225           for (const auto &BI : bases()) {
 1561   for (const auto &I : Record->bases()) {
 1603   for (const auto &I : Record->bases()) {
 1785   for (const auto &Base : bases())
 1852   const auto BaseSpec = *bases_begin();
 1911   for (const auto &B : bases()) {
 2026   for (const auto &I : RD->bases()) {
tools/clang/lib/AST/Expr.cpp
 1948 CXXBaseSpecifier **CastExpr::path_buffer() {
 1986   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
 1996                               E->getTrailingObjects<CXXBaseSpecifier *>());
 2002   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
 2013   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
 2018                               E->getTrailingObjects<CXXBaseSpecifier *>());
 2024   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
tools/clang/lib/AST/ExprCXX.cpp
  782   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  788                               E->getTrailingObjects<CXXBaseSpecifier *>());
  794   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  807   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  813                               E->getTrailingObjects<CXXBaseSpecifier *>());
  819   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  864   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  870                               E->getTrailingObjects<CXXBaseSpecifier *>());
  876   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  899   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
  904                               E->getTrailingObjects<CXXBaseSpecifier *>());
  910   void *Buffer = C.Allocate(totalSizeToAlloc<CXXBaseSpecifier *>(PathSize));
tools/clang/lib/AST/ExprConstant.cpp
 2200       for (const CXXBaseSpecifier &BS : CD->bases()) {
 2669                              const CXXBaseSpecifier *Base) {
 3021   for (auto &BaseSpec : RD->bases())
 3055   for (auto &BaseSpec : RD->bases())
 5174   for (const CXXBaseSpecifier &BaseSpec : Derived->bases()) {
 5373       for (const CXXBaseSpecifier *Elt : llvm::reverse(ICE->path())) {
 5890   for (const CXXBaseSpecifier &Base : llvm::reverse(RD->bases())) {
 6241         const CXXBaseSpecifier &BS = CXXRD->bases_begin()[I];
 6406         const CXXBaseSpecifier &BS = CXXRD->bases_begin()[I];
 6541       for (CXXBaseSpecifier &BS : CXXRD->bases())
 8942     for (const auto &Base : CXXRD->bases()) {
11993       CXXBaseSpecifier *BaseSpec = ON.getBase();
tools/clang/lib/AST/InheritViz.cpp
   95   for (const auto &Base : Decl->bases()) {
tools/clang/lib/AST/Interp/Program.cpp
  237     for (const CXXBaseSpecifier &Spec : CD->bases()) {
  252     for (const CXXBaseSpecifier &Spec : CD->vbases()) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  311     const CXXBaseSpecifier *Base = *I;
  470 JSONNodeDumper::createCXXBaseSpecifier(const CXXBaseSpecifier &BS) {
  819       for (const auto &Spec : RD->bases())
tools/clang/lib/AST/NestedNameSpecifier.cpp
  215     for (const auto &Base : RD->bases())
tools/clang/lib/AST/ODRHash.cpp
  507   for (auto Base : Bases) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp
  188   for (const CXXBaseSpecifier &Base : Class->bases()) {
  390   for (const CXXBaseSpecifier &Base : RD->bases()) {
  403     for (const CXXBaseSpecifier &Base : RD->vbases()) {
  501   for (const CXXBaseSpecifier &Base : RD->bases()) {
  514     for (const CXXBaseSpecifier &Base : RD->vbases()) {
  810   for (const auto &I : RD->bases()) {
  850   for (const auto &I : RD->bases()) {
  939   for (const auto &I : RD->bases()) {
  964   for (const auto &I : RD->bases()) {
 1051   for (const auto &I : RD->bases()) {
 1132   for (const CXXBaseSpecifier &Base : RD->bases()) {
 1334   for (const CXXBaseSpecifier &Base : RD->bases()) {
 1344   for (const CXXBaseSpecifier &Base : RD->vbases()) {
 2572   for (const CXXBaseSpecifier &Base : RD->bases()) {
 2606   for (const CXXBaseSpecifier &Base : RD->bases()) {
 2857   for (const CXXBaseSpecifier &VBase : RD->vbases()) {
 2869   for (const CXXBaseSpecifier &VBase : RD->vbases()) {
 2946   for (const CXXBaseSpecifier &Base : RD->bases())
 2960     for (const CXXBaseSpecifier &Base : RD->vbases()) {
 2971   for (const CXXBaseSpecifier &Base : RD->bases()) {
 3011   for (const CXXBaseSpecifier &Base : RD->vbases()) {
 3328     for (const CXXBaseSpecifier &Base : CXXRD->bases()) {
 3391     for (const CXXBaseSpecifier &Base : CXXRD->vbases()) {
tools/clang/lib/AST/TextNodeDumper.cpp
  635     const CXXBaseSpecifier *Base = *I;
 1654   for (const auto &I : D->bases()) {
tools/clang/lib/AST/VTTBuilder.cpp
   62   for (const auto &I : RD->bases()) {
   92   for (const auto &I : RD->bases()) {
  156   for (const auto &I : RD->bases()) {
tools/clang/lib/AST/VTableBuilder.cpp
  346   for (const auto &B : RD->bases()) {
  382   for (const auto &B : RD->bases()) {
  720   for (const auto &B : RD->bases()) {
  744   for (const auto &B : RD->bases()) {
 1732   for (const auto &B : RD->bases()) {
 1810   for (const auto &B : RD->bases()) {
 1839   for (const auto &B : RD->bases()) {
 2886   for (const auto &B : RD->bases()) {
 3261   for (const auto &B : RD->bases()) {
 3314     for (const auto &VB : Base->vbases())
 3390   for (const CXXBaseSpecifier &BS : RD->bases()) {
 3436     const CXXBaseSpecifier *BaseBS = std::find_if(
 3691   for (const auto &VB : RD->vbases()) {
tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  858   for (const auto &It : Declaration->bases()) {
tools/clang/lib/Analysis/CFG.cpp
  832   void appendBaseDtor(CFGBlock *B, const CXXBaseSpecifier *BS) {
 1885   for (const auto &VI : RD->vbases()) {
 1897   for (const auto &BI : RD->bases()) {
 5533     const CXXBaseSpecifier *BS = E.castAs<CFGBaseDtor>().getBaseSpecifier();
tools/clang/lib/CodeGen/CGCXX.cpp
   76   for (const auto &I : Class->bases()) {
tools/clang/lib/CodeGen/CGCall.cpp
  873   SmallVector<const CXXBaseSpecifier *, 1> Bases;
  877   RecordExpansion(SmallVector<const CXXBaseSpecifier *, 1> &&Bases,
  910     SmallVector<const CXXBaseSpecifier *, 1> Bases;
  938         for (const CXXBaseSpecifier &BS : CXXRD->bases())
 1030     for (const CXXBaseSpecifier *BS : RExp->Bases) {
 1073     for (const CXXBaseSpecifier *BS : RExp->Bases) {
tools/clang/lib/CodeGen/CGClass.cpp
  158     const CXXBaseSpecifier *Base = *I;
 1356   for (const auto &I : BaseClassDecl->bases()) {
 1369     for (const auto &I : BaseClassDecl->vbases()) {
 1819     for (const auto &Base : ClassDecl->vbases()) {
 1844   for (const auto &Base : ClassDecl->bases()) {
 2535   for (const auto &I : RD->bases()) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1704   for (const auto &BI : Bases) {
tools/clang/lib/CodeGen/CGExpr.cpp
 3974   for (const auto &Base : RD->bases())
tools/clang/lib/CodeGen/CGExprAgg.cpp
 1515     for (auto &Base : CXXRD->bases()) {
tools/clang/lib/CodeGen/CGExprConstant.cpp
 2205     for (const auto &I : CXXR->bases()) {
 2248     for (const auto &I : CXXR->vbases()) {
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 7812     for (const auto &I : RD->bases()) {
 7827     for (const auto &I : RD->vbases()) {
tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  489   for (const auto &Base : RD->bases()) {
  520     for (const auto &Base : RD->vbases()) {
  533   for (const auto &Base : RD->vbases()) {
  561   for (const auto &Base : Decl->bases())
tools/clang/lib/CodeGen/CGVTables.cpp
 1053   for (auto B : RD->bases())
 1058   for (auto B : RD->vbases())
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1473     for (const CXXBaseSpecifier &B : RD->bases())
 2714       for (const CXXBaseSpecifier &B : Dtor->getParent()->bases())
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  137     for (const auto &I : CRD->bases())
  745     for (const auto &I : CRD->bases()) {
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 1876     for (const auto &B : RD->bases()) {
 1895   for (const auto &B : RD->vbases()) {
 3597 static unsigned ComputeVMIClassTypeInfoFlags(const CXXBaseSpecifier *Base,
 3628   for (const auto &I : BaseDecl->bases())
 3639   for (const auto &I : RD->bases())
 3697   for (const auto &Base : RD->bases()) {
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  334     for (const auto &I : SrcRD->vbases()) {
 1177   for (const CXXBaseSpecifier &S : RD->vbases()) {
 2097   for (const auto &I : ObjectWithVPtr->vbases()) {
 2741     SmallVector<const CXXBaseSpecifier *, 4> DerivedToBasePath;
 2753       for (const CXXBaseSpecifier &BS : Derived->bases())
 3438                       const CXXBaseSpecifier *Specifier);
 3451                                  const CXXBaseSpecifier *Specifier) {
 3473   for (const CXXBaseSpecifier &Base : RD->bases()) {
 3534   for (const CXXBaseSpecifier &Base : RD->bases())
tools/clang/lib/CodeGen/TargetInfo.cpp
  521     for (const auto &I : CXXRD->bases())
  552     for (const auto &I : CXXRD->bases()) {
 1325   for (const CXXBaseSpecifier &Base : RD->bases()) {
 1476     for (const auto &I : CXXRD->bases())
 2809       for (const auto &I : CXXRD->bases()) {
 3071       for (const auto &I : CXXRD->bases()) {
 3561     for (const auto &I : CXXRD->bases())
 4615       for (const auto &I : CXXRD->bases()) {
 6387     for (const CXXBaseSpecifier &I : CXXRD->bases())
 6637       for (const auto &I : CXXRD->bases()) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
  279         for (const auto &I : CXXRD->bases()) {
tools/clang/lib/Parse/ParseDeclCXX.cpp
 2039   SmallVector<CXXBaseSpecifier *, 8> BaseInfo;
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
   78 CXXBaseSpecifier *MultiplexExternalSemaSource::GetExternalCXXBaseSpecifiers(
   81     if (CXXBaseSpecifier *R = Sources[i]->GetExternalCXXBaseSpecifiers(Offset))
tools/clang/lib/Sema/SemaAccess.cpp
  297     for (const auto &I : Derived->bases()) {
  644     for (const auto &I : Cur->bases()) {
 1200     const CXXBaseSpecifier *base = i->Base;
 1246   const CXXBaseSpecifier *base = constrainingBase->Base;
tools/clang/lib/Sema/SemaCUDA.cpp
  291   llvm::SmallVector<const CXXBaseSpecifier *, 16> Bases;
  292   for (const auto &B : ClassDecl->bases()) {
  299     for (const auto &VB : ClassDecl->vbases()) {
  304   for (const auto *B : Bases) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
 1953   for (const auto &Base : CR->bases()) {
 5659   for (const auto &Base : ClassDecl->bases()) {
 5674   for (const auto &Base : ClassDecl->vbases()) {
tools/clang/lib/Sema/SemaDecl.cpp
  186   for (const auto &Base : RD->bases()) {
  649     for (const auto &Base : RD->bases())
 7804   bool operator()(const CXXBaseSpecifier *Specifier, CXXBasePath &Path) {
tools/clang/lib/Sema/SemaDeclAttr.cpp
  483   for (auto BaseSpecifier : CXXRecord->bases()) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1621   for (const CXXBaseSpecifier &B : RD->bases())
 1695       for (const auto &I : RD->vbases())
 2378     for (const auto &I : Current->bases()) {
 2406 CXXBaseSpecifier *
 2450     return new (Context) CXXBaseSpecifier(SpecifierRange, Virtual,
 2537   return new (Context) CXXBaseSpecifier(SpecifierRange, Virtual,
 2583   if (CXXBaseSpecifier *BaseSpec = CheckBaseSpecifier(Class, SpecifierRange,
 2608     for (const auto &BaseSpec : Decl->bases()) {
 2621                                 MutableArrayRef<CXXBaseSpecifier *> Bases) {
 2629   std::map<QualType, CXXBaseSpecifier*, QualTypeOrdering> KnownBaseTypes;
 2643     CXXBaseSpecifier *&KnownBase = KnownBaseTypes[NewBaseType];
 2727                                MutableArrayRef<CXXBaseSpecifier *> Bases) {
 3819     for (auto I : RD->bases())
 3928                                 const CXXBaseSpecifier *&DirectBaseSpec,
 3929                                 const CXXBaseSpecifier *&VirtualBaseSpec) {
 3932   for (const auto &Base : ClassDecl->bases()) {
 4166           const CXXBaseSpecifier *DirectBaseSpec;
 4167           const CXXBaseSpecifier *VirtualBaseSpec;
 4179             const CXXBaseSpecifier *BaseSpec = DirectBaseSpec ? DirectBaseSpec
 4388   const CXXBaseSpecifier *DirectBaseSpec = nullptr;
 4389   const CXXBaseSpecifier *VirtualBaseSpec = nullptr;
 4434   const CXXBaseSpecifier *BaseSpec = DirectBaseSpec;
 4508                              CXXBaseSpecifier *BaseSpec,
 4998   llvm::SmallPtrSet<CXXBaseSpecifier *, 16> DirectVBases;
 4999   for (auto &I : ClassDecl->bases()) {
 5005   for (auto &VBase : ClassDecl->vbases()) {
 5040   for (auto &Base : ClassDecl->bases()) {
 5171   for (const auto &VBase : ClassDecl->vbases())
 5175   for (const auto &Base : ClassDecl->bases()) {
 5422   for (const auto &Base : ClassDecl->bases()) {
 5457   for (const auto &VBase : ClassDecl->vbases()) {
 6745   for (const auto &B : ClassDecl->bases()) {
 7247   typedef llvm::PointerUnion<CXXBaseSpecifier*, FieldDecl*> Subobject;
 7253     if (auto *B = Subobj.dyn_cast<CXXBaseSpecifier*>())
 7253     if (auto *B = Subobj.dyn_cast<CXXBaseSpecifier*>())
 7278     for (auto &B : RD->bases())
 7284       for (auto &B : RD->vbases())
 7321   bool visitBase(CXXBaseSpecifier *Base) { return shouldDeleteForBase(Base); }
 7324   bool shouldDeleteForBase(CXXBaseSpecifier *Base);
 7346   if (CXXBaseSpecifier *base = Subobj.dyn_cast<CXXBaseSpecifier*>()) {
 7346   if (CXXBaseSpecifier *base = Subobj.dyn_cast<CXXBaseSpecifier*>()) {
 7394       CXXBaseSpecifier *Base = Subobj.get<CXXBaseSpecifier*>();
 7394       CXXBaseSpecifier *Base = Subobj.get<CXXBaseSpecifier*>();
 7477 bool SpecialMemberDeletionInfo::shouldDeleteForBase(CXXBaseSpecifier *Base) {
 8122   for (const auto &BI : RD->bases())
 8161       CXXBaseSpecifier &BS = *RD->vbases_begin();
 8207   bool operator()(const CXXBaseSpecifier *Specifier, CXXBasePath &Path) {
 8336   for (const auto &B : RD.bases()) {
 9575   for (const CXXBaseSpecifier &BaseSpec : Info->Record->bases()) {
10189   for (auto &B : Derived->bases())
10288 static CXXBaseSpecifier *findDirectBaseWithType(CXXRecordDecl *Derived,
10294   for (auto &Base : Derived->bases()) {
10674   auto *Base = findDirectBaseWithType(TargetClass, QualType(SourceType, 0),
11205   bool visitBase(CXXBaseSpecifier *Base);
11216 bool SpecialMemberExceptionSpecInfo::visitBase(CXXBaseSpecifier *Base) {
11670     for (CXXBaseSpecifier &B : VBase ? RD->vbases() : RD->bases()) {
12511   for (auto &Base : ClassDecl->bases()) {
12739   llvm::SmallVector<CXXBaseSpecifier *, 16> Worklist;
12740   typedef llvm::DenseMap<CXXRecordDecl*, CXXBaseSpecifier*> VBaseMap;
12743   for (auto &BI : Class->bases()) {
12746       CXXBaseSpecifier *BaseSpec = Worklist.pop_back_val();
12775         CXXBaseSpecifier *&Existing =
12801         for (auto &BI : Base->bases())
12870   for (auto &Base : ClassDecl->bases()) {
15777   for (const auto &I : RD->bases()) {
tools/clang/lib/Sema/SemaExprCXX.cpp
  818   for (const CXXBaseSpecifier &BS : RD->bases()) {
tools/clang/lib/Sema/SemaExprMember.cpp
  619       for (const auto &BS : RD->bases()) {
tools/clang/lib/Sema/SemaInit.cpp
  452   void FillInEmptyInitForBase(unsigned Init, const CXXBaseSpecifier &Base,
  605     unsigned Init, const CXXBaseSpecifier &Base,
 2055   for (auto &Base : Bases) {
 3241                                   const CXXBaseSpecifier *Base,
 8618   for (const auto &BI : RD->bases()) {
tools/clang/lib/Sema/SemaLookup.cpp
 2131 static bool LookupAnyMember(const CXXBaseSpecifier *Specifier,
 2264   bool (*BaseCallback)(const CXXBaseSpecifier *Specifier, CXXBasePath &Path,
 2508   for (const auto &BaseSpec : Class->bases()) {
 2781     for (const auto &Base : Class->bases()) {
 3834       for (const auto &B : Record->bases()) {
tools/clang/lib/Sema/SemaStmt.cpp
 4038   bool operator()(const CXXBaseSpecifier *S, CXXBasePath &) {
tools/clang/lib/Sema/SemaTemplate.cpp
 8938   for (auto &B : Def->bases()) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 1836         for (const auto &Base : Next->bases()) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 1943   SmallVector<CXXBaseSpecifier*, 4> InstantiatedBases;
 1944   for (const auto &Base : Pattern->bases()) {
 1950       InstantiatedBases.push_back(new (Context) CXXBaseSpecifier(Base));
 1989           if (CXXBaseSpecifier *InstantiatedBase
 2023     if (CXXBaseSpecifier *InstantiatedBase
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  222     bool TraverseCXXBaseSpecifier(const CXXBaseSpecifier &Base) {
tools/clang/lib/Sema/SemaType.cpp
 8223     for (const auto &I : RD->vbases())
 8230     for (const auto &I : RD->bases()) {
tools/clang/lib/Serialization/ASTReader.cpp
 7687 CXXBaseSpecifier *ASTReader::GetExternalCXXBaseSpecifiers(uint64_t Offset) {
 7722   void *Mem = Context.Allocate(sizeof(CXXBaseSpecifier) * NumBases);
 7723   CXXBaseSpecifier *Bases = new (Mem) CXXBaseSpecifier [NumBases];
 7723   CXXBaseSpecifier *Bases = new (Mem) CXXBaseSpecifier [NumBases];
 9379 CXXBaseSpecifier
 9389   CXXBaseSpecifier Result(Range, isVirtual, isBaseOfClass, AS, TInfo,
10323           auto FirstBase = FirstBases[i];
10324           auto SecondBase = SecondBases[i];
tools/clang/lib/Serialization/ASTReaderStmt.cpp
  712       auto *Base = new (Record.getContext()) CXXBaseSpecifier();
  712       auto *Base = new (Record.getContext()) CXXBaseSpecifier();
  860     auto *BaseSpec = new (Record.getContext()) CXXBaseSpecifier;
  860     auto *BaseSpec = new (Record.getContext()) CXXBaseSpecifier;
tools/clang/lib/Serialization/ASTWriter.cpp
 6116 void ASTRecordWriter::AddCXXBaseSpecifier(const CXXBaseSpecifier &Base) {
 6128                                       ArrayRef<CXXBaseSpecifier> Bases) {
 6140 void ASTRecordWriter::AddCXXBaseSpecifiers(ArrayRef<CXXBaseSpecifier> Bases) {
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
  201   for (const auto &BS : R->bases()) {
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
  356   for (const CXXBaseSpecifier &BaseSpec : CXXRD->bases()) {
tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
   46     llvm::ImmutableList<const CXXBaseSpecifier *> L) {
  162     const DeclaratorDecl *DD, llvm::ImmutableList<const CXXBaseSpecifier *> L) {
  184   llvm::ImmutableList<const CXXBaseSpecifier *> PathList;
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  508     for (const auto II : RDX->bases())
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
 1034   const CXXBaseSpecifier *Base = D.getBaseSpecifier();
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
 1065   for (const auto &I : Class->bases()) {
 1286   for (const auto &I : Child->bases()) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 2435     for (const auto &B : CRD->bases()) {
tools/clang/tools/extra/clang-doc/Serialize.cpp
  333   for (const CXXBaseSpecifier &B : D->bases()) {
  346   for (const CXXBaseSpecifier &B : D->vbases()) {
  441   for (const CXXBaseSpecifier &B : D->bases()) {
tools/clang/tools/extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
   43   for (const auto &Base : ThisClass.bases()) {
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
  239   for (const auto &BaseSpec : DerivedRD->bases()) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
  219   for (const auto &Base : ClassDecl.bases()) {
  490   for (const CXXBaseSpecifier &Base : ClassDecl.bases()) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
   90   for (const auto &Base : DerivedDecl.bases()) {
tools/clang/tools/extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
   72   for (const auto &I : Node->bases()) {
  105     for (const auto &I : D->bases()) {
  115     for (const auto &V : D->vbases()) {
tools/clang/tools/extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
   23   for (const CXXBaseSpecifier &Base : Node.bases())
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
  116   for (const auto &BS : RD->bases()) {
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
   39   for (auto Base : Record->bases()) {
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.cpp
   81   for (const CXXBaseSpecifier &Base : ClassDecl->bases()) {
tools/clang/tools/extra/clangd/XRefs.cpp
 1187   for (auto Base : CXXRD->bases()) {
tools/clang/tools/libclang/CIndex.cpp
  552     if (const CXXBaseSpecifier *Base = getCursorCXXBaseSpecifier(Cursor)) {
 1805     for (const auto &I : D->bases()) {
 4507       const CXXBaseSpecifier *B = getCursorCXXBaseSpecifier(C);
 5856       const CXXBaseSpecifier *BaseSpec = getCursorCXXBaseSpecifier(C);
 6210       const CXXBaseSpecifier *B = cxcursor::getCursorCXXBaseSpecifier(C);
tools/clang/tools/libclang/CIndexCXX.cpp
   26   const CXXBaseSpecifier *B = getCursorCXXBaseSpecifier(C);
tools/clang/tools/libclang/CXCursor.cpp
  870 CXCursor cxcursor::MakeCursorCXXBaseSpecifier(const CXXBaseSpecifier *B,
  876 const CXXBaseSpecifier *cxcursor::getCursorCXXBaseSpecifier(CXCursor C) {
tools/clang/tools/libclang/CXCursor.h
  133 CXCursor MakeCursorCXXBaseSpecifier(const CXXBaseSpecifier *B,
  137 const CXXBaseSpecifier *getCursorCXXBaseSpecifier(CXCursor C);
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  341   for (const auto &Base : D->bases()) {
  374                                            const CXXBaseSpecifier &Base) const {
tools/clang/tools/libclang/CXIndexDataConsumer.h
  328     SourceLocation getBaseLoc(const CXXBaseSpecifier &Base) const;
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  826   std::unique_ptr<clang::CXXBaseSpecifier>
  833       std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> bases);
tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
   76   clang::CXXBaseSpecifier *
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
   52   clang::CXXBaseSpecifier *
  303   clang::CXXBaseSpecifier *
  306       if (clang::CXXBaseSpecifier *R =
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
   54   clang::CXXBaseSpecifier *
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
 1973         std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> bases;
 2454     std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> &base_classes,
 3029           std::unique_ptr<clang::CXXBaseSpecifier> result =
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
  110       std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> &base_classes,
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
   60   std::unique_ptr<clang::CXXBaseSpecifier> base_spec =
  221   std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> bases;
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   39       std::pair<uint64_t, std::unique_ptr<clang::CXXBaseSpecifier>>;
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
 1287   std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> base_classes;
 1309     std::unique_ptr<clang::CXXBaseSpecifier> base_spec =
tools/lldb/source/Symbol/ClangASTContext.cpp
 1775 static inline bool BaseSpecifierIsEmpty(const CXXBaseSpecifier *b) {
 7062                                       const clang::CXXBaseSpecifier *base_spec,
 8314 std::unique_ptr<clang::CXXBaseSpecifier>
 8321   return std::make_unique<clang::CXXBaseSpecifier>(
 8330     std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> bases) {
 8336   std::vector<clang::CXXBaseSpecifier *> raw_bases;
tools/lldb/unittests/Symbol/TestClangASTContext.cpp
  348   std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> bases;
  355   std::unique_ptr<clang::CXXBaseSpecifier> non_empty_base_spec =
  378   std::unique_ptr<CXXBaseSpecifier> non_empty_vbase_spec =
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*;
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/stl_iterator_base_types.h
  123       typedef _Tp        value_type;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
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*
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  297           __safe_conversion_up<_Up, _Ep>,
  301 	operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
  669     swap(unique_ptr<_Tp, _Dp>& __x,
  670 	 unique_ptr<_Tp, _Dp>& __y) noexcept
  811     { typedef unique_ptr<_Tp> __single_object; };
  823     inline typename _MakeUniq<_Tp>::__single_object
  825     { return unique_ptr<_Tp>(new _Tp(std::forward<_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;
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
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_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
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>
 1983     { typedef _Up     type; };