|
reference, declaration → definition
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; };