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

Derived Classes

tools/clang/include/clang/AST/DeclObjC.h
 1171 class ObjCInterfaceDecl : public ObjCContainerDecl
 2063 class ObjCProtocolDecl : public ObjCContainerDecl,
 2279 class ObjCCategoryDecl : public ObjCContainerDecl {
 2424 class ObjCImplDecl : public ObjCContainerDecl {

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  123 ABSTRACT_DECL(OBJCCONTAINER(ObjCContainer, NamedDecl))
tools/clang/include/clang/AST/ASTContext.h
  106 class ObjCContainerDecl;
tools/clang/include/clang/AST/ASTMutationListener.h
   31   class ObjCContainerDecl;
tools/clang/include/clang/AST/DeclBase.h
   57 class ObjCContainerDecl;
tools/clang/include/clang/Sema/Sema.h
  145   class ObjCContainerDecl;
tools/clang/lib/CodeGen/CGObjCRuntime.h
   43   class ObjCContainerDecl;
tools/clang/lib/CodeGen/CodeGenFunction.h
   65 class ObjCContainerDecl;

References

include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   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);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  360                             typename cast_retty<X, Y>::ret_type>::type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
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/ASTContext.h
  249   mutable llvm::DenseMap<const ObjCContainerDecl*, const ASTRecordLayout*>
  266   llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*> ObjCImpls;
 2649   void ResetObjCLayout(const ObjCContainerDecl *CD);
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/DeclBase.h
 2474   static const ToTy *doit(const DeclContext *Val) {
 2478   static ToTy *doit(DeclContext *Val) {
 2491     return To::classofKind(Val.getDeclKind());
 2514   static const ToTy *doit(const ::clang::DeclContext *Val) {
 2515     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2521   static ToTy *doit(::clang::DeclContext *Val) {
 2522     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
tools/clang/include/clang/AST/DeclObjC.h
 1137   static DeclContext *castToDeclContext(const ObjCContainerDecl *D) {
 1141   static ObjCContainerDecl *castFromDeclContext(const DeclContext *DC) {
 1171 class ObjCInterfaceDecl : public ObjCContainerDecl
 1953   ObjCIvarDecl(ObjCContainerDecl *DC, SourceLocation StartLoc,
 1962   static ObjCIvarDecl *Create(ASTContext &C, ObjCContainerDecl *DC,
 2063 class ObjCProtocolDecl : public ObjCContainerDecl,
 2279 class ObjCCategoryDecl : public ObjCContainerDecl {
 2424 class ObjCImplDecl : public ObjCContainerDecl {
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  506   Matcher(const Matcher<From> &Other,
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  534   bool matches(const T &Node,
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
tools/clang/include/clang/Sema/Sema.h
 3789                                  ObjCContainerDecl* IDecl,
 3795                                        ObjCContainerDecl *CDecl,
 3845                                        ObjCContainerDecl *CDecl,
 3893                                   ObjCContainerDecl* IDecl,
tools/clang/lib/ARCMigrate/ObjCMT.cpp
   50   void migrateObjCContainerDecl(ASTContext &Ctx, ObjCContainerDecl *D);
   56   void migrateAllMethodInstaceType(ASTContext &Ctx, ObjCContainerDecl *CDecl);
   57   void migrateMethodInstanceType(ASTContext &Ctx, ObjCContainerDecl *CDecl,
   59   bool migrateProperty(ASTContext &Ctx, ObjCContainerDecl *D, ObjCMethodDecl *OM);
   62   void migrateFactoryMethod(ASTContext &Ctx, ObjCContainerDecl *CDecl,
   79   void migrateARCSafeAnnotation(ASTContext &Ctx, ObjCContainerDecl *CDecl);
  574 static bool IsCategoryNameWithDeprecatedSuffix(ObjCContainerDecl *D) {
  583                                                       ObjCContainerDecl *D) {
 1012                                                        ObjCContainerDecl *CDecl,
 1166                              ObjCContainerDecl *D,
 1290                                                  ObjCContainerDecl *CDecl) {
 1303                                                   ObjCContainerDecl *CDecl,
 1570                                                  ObjCContainerDecl *CDecl) {
 1929       if (ObjCContainerDecl *CDecl = dyn_cast<ObjCContainerDecl>(*D)) {
 1929       if (ObjCContainerDecl *CDecl = dyn_cast<ObjCContainerDecl>(*D)) {
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
  130     if (ObjCContainerDecl *ContD = dyn_cast<ObjCContainerDecl>(D))
  130     if (ObjCContainerDecl *ContD = dyn_cast<ObjCContainerDecl>(D))
  147     if (ObjCContainerDecl *ContD = dyn_cast<ObjCContainerDecl>(D)) {
  147     if (ObjCContainerDecl *ContD = dyn_cast<ObjCContainerDecl>(D)) {
tools/clang/lib/ARCMigrate/TransProperties.cpp
   76   static void collectProperties(ObjCContainerDecl *D, AtPropDeclsTy &AtProps,
tools/clang/lib/AST/ASTContext.cpp
  163   if (isa<ObjCMethodDecl>(D) || isa<ObjCContainerDecl>(D) ||
  859   for (llvm::DenseMap<const ObjCContainerDecl*,
 2601   llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*>::iterator
 2611   llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*>::iterator
 9216 void ASTContext::ResetObjCLayout(const ObjCContainerDecl *CD) {
tools/clang/lib/AST/ASTImporter.cpp
 3630           ToIvar, D, Importer.getToContext(), cast<ObjCContainerDecl>(DC),
tools/clang/lib/AST/DeclObjC.cpp
  946     return cast<ObjCContainerDecl>(CtxD)->getMethod(getSelector(),
  971         cast<ObjCContainerDecl>(CtxD)->getMethod(getSelector(),
 1176 static void CollectOverriddenMethodsRecurse(const ObjCContainerDecl *Container,
 1236 static inline void CollectOverriddenMethods(const ObjCContainerDecl *Container,
 1279                   dyn_cast_or_null<ObjCContainerDecl>(Method->getDeclContext()),
 1289     Method = cast<ObjCContainerDecl>(Method->getDeclContext())->
 1308     const auto *Container = cast<ObjCContainerDecl>(getParent());
 1308     const auto *Container = cast<ObjCContainerDecl>(getParent());
 1747 ObjCIvarDecl *ObjCIvarDecl::Create(ASTContext &C, ObjCContainerDecl *DC,
 1790   const auto *DC = cast<ObjCContainerDecl>(getDeclContext());
 1790   const auto *DC = cast<ObjCContainerDecl>(getDeclContext());
tools/clang/lib/AST/ExternalASTMerger.cpp
  238     } else if (auto *ToContainer = dyn_cast<ObjCContainerDecl>(To)) {
  238     } else if (auto *ToContainer = dyn_cast<ObjCContainerDecl>(To)) {
  359   if (isa<ObjCContainerDecl>(D1) && isa<ObjCContainerDecl>(D2))
  359   if (isa<ObjCContainerDecl>(D1) && isa<ObjCContainerDecl>(D2))
tools/clang/lib/AST/ItaniumMangle.cpp
 1359     if (isa<ObjCContainerDecl>(ND))
tools/clang/lib/AST/Mangle.cpp
  269   const ObjCContainerDecl *CD =
  270   dyn_cast<ObjCContainerDecl>(MD->getDeclContext());
  349   std::vector<std::string> getAllManglings(const ObjCContainerDecl *OCD) {
  373     if (const auto *OCD = dyn_cast<ObjCContainerDecl>(D))
  373     if (const auto *OCD = dyn_cast<ObjCContainerDecl>(D))
tools/clang/lib/AST/RecordLayoutBuilder.cpp
 3228   const ObjCContainerDecl *Key =
tools/clang/lib/Analysis/BodyFarm.cpp
  715   auto *Container = cast<ObjCContainerDecl>(Prop->getDeclContext());
tools/clang/lib/CodeGen/CGObjC.cpp
  676                                       const ObjCContainerDecl *CD) {
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  467       const ObjCContainerDecl *OCD,
  608                                  const ObjCContainerDecl *CD) override;
 3278     const ObjCContainerDecl *OCD,
 3854                                           const ObjCContainerDecl *CD) {
tools/clang/lib/CodeGen/CGObjCMac.cpp
  925                         const ObjCContainerDecl *CD,
 1012                                    const ObjCContainerDecl *OCD,
 1093                                  const ObjCContainerDecl *CD=nullptr) override;
 3244                                        const ObjCContainerDecl *OCD,
 3972                                                 const ObjCContainerDecl *CD) {
 5544                                        const ObjCContainerDecl *CD,
tools/clang/lib/CodeGen/CGObjCRuntime.h
  206                                          const ObjCContainerDecl *CD) = 0;
tools/clang/lib/CodeGen/CodeGenFunction.h
 1735   void StartObjCMethod(const ObjCMethodDecl *MD, const ObjCContainerDecl *CD);
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  398     bool IsTagDefinedInsideClass(ObjCContainerDecl *IDecl, TagDecl *Tag,
  859       auto *CDecl = cast<ObjCContainerDecl>(D->getDeclContext());
  859       auto *CDecl = cast<ObjCContainerDecl>(D->getDeclContext());
 3599 bool RewriteModernObjC::IsTagDefinedInsideClass(ObjCContainerDecl *IDecl,
 3730   auto *IDecl = dyn_cast<ObjCContainerDecl>(fieldDecl->getDeclContext());
 3730   auto *IDecl = dyn_cast<ObjCContainerDecl>(fieldDecl->getDeclContext());
 7500           ObjCContainerDecl *CDecl =
 7501             dyn_cast<ObjCContainerDecl>(D->getDeclContext());
tools/clang/lib/Index/IndexDecl.cpp
  368                                  const ObjCContainerDecl *ContD,
tools/clang/lib/Index/USRGeneration.cpp
   90   void VisitObjCContainerDecl(const ObjCContainerDecl *CD,
  415 void USRGenerator::VisitObjCContainerDecl(const ObjCContainerDecl *D,
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
 1025   if (isa<ObjCContainerDecl>(CurContext) || isa<ObjCMethodDecl>(CurContext))
tools/clang/lib/Sema/SemaCodeComplete.cpp
  954   if (DC->isRecord() || isa<ObjCContainerDecl>(DC)) {
 4421 static ObjCContainerDecl *getContainerDef(ObjCContainerDecl *Container) {
 4421 static ObjCContainerDecl *getContainerDef(ObjCContainerDecl *Container) {
 4478                   ObjCContainerDecl *Container, bool AllowCategories,
 6188 static void AddObjCMethods(ObjCContainerDecl *Container,
 7294   ObjCContainerDecl *Container =
 7295       dyn_cast_or_null<ObjCContainerDecl>(CurContext);
 7333   ObjCContainerDecl *Container =
 7334       dyn_cast_or_null<ObjCContainerDecl>(CurContext);
 7428                                      ObjCContainerDecl *Container,
 8160     ObjCContainerDecl *OCD = dyn_cast<ObjCContainerDecl>(CurContext);
 8160     ObjCContainerDecl *OCD = dyn_cast<ObjCContainerDecl>(CurContext);
 8164   ObjCContainerDecl *SearchDecl = nullptr;
 8175       SearchDecl = dyn_cast<ObjCContainerDecl>(D);
 8180       SearchDecl = dyn_cast<ObjCContainerDecl>(DC);
 8294     SmallVector<ObjCContainerDecl *, 4> Containers;
tools/clang/lib/Sema/SemaDecl.cpp
16295   ObjCContainerDecl *EnclosingDecl = cast<ObjCContainerDecl>(CurContext);
16295   ObjCContainerDecl *EnclosingDecl = cast<ObjCContainerDecl>(CurContext);
16298   ObjCContainerDecl *EnclosingContext;
16390   Ivar = ObjCIvarDecl::Create(Context, cast<ObjCContainerDecl>(CurContext),
16409   if (!Fields.empty() && isa<ObjCContainerDecl>(EnclosingDecl)) {
16410     ObjCContainerDecl *DC = cast<ObjCContainerDecl>(EnclosingDecl);
16410     ObjCContainerDecl *DC = cast<ObjCContainerDecl>(EnclosingDecl);
16478                (Record || isa<ObjCContainerDecl>(EnclosingDecl))) {
16567       if (isa<ObjCContainerDecl>(EnclosingDecl) &&
17656   return (dyn_cast_or_null<ObjCContainerDecl>(CurContext));
tools/clang/lib/Sema/SemaDeclAttr.cpp
 7694     if (auto *CD = dyn_cast<ObjCContainerDecl>(Ctx)) {
 7694     if (auto *CD = dyn_cast<ObjCContainerDecl>(Ctx)) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
  443       ObjCContainerDecl *ContDeclOfMethodDecl =
  444         dyn_cast<ObjCContainerDecl>(IMD->getDeclContext());
  525                                    ObjCContainerDecl *CD,
 2678                                     ObjCContainerDecl *CDecl,
 2809                                       ObjCContainerDecl* CDecl,
 2951                                      ObjCContainerDecl* CDecl,
 3807 static void DiagnoseVariableSizedIvars(Sema &S, ObjCContainerDecl *OCD) {
 3898   auto *OCD = cast<ObjCContainerDecl>(CurContext);
 3898   auto *OCD = cast<ObjCContainerDecl>(CurContext);
 3976   if (ObjCContainerDecl *CDecl = dyn_cast<ObjCContainerDecl>(ClassDecl)) {
 3976   if (ObjCContainerDecl *CDecl = dyn_cast<ObjCContainerDecl>(ClassDecl)) {
 4197     const ObjCContainerDecl *container
 4198       = cast<ObjCContainerDecl>(method->getDeclContext());
 4218   void searchFromContainer(const ObjCContainerDecl *container) {
 4294   void search(const ObjCContainerDecl *container) {
 4554   Decl *ClassDecl = cast<ObjCContainerDecl>(CurContext);
 4794   if (isa<ObjCContainerDecl>(CurContext->getRedeclContext()))
tools/clang/lib/Sema/SemaExprObjC.cpp
 1474     const ObjCContainerDecl *iface;
tools/clang/lib/Sema/SemaObjCProperty.cpp
  197   ObjCContainerDecl *ClassDecl = cast<ObjCContainerDecl>(CurContext);
  197   ObjCContainerDecl *ClassDecl = cast<ObjCContainerDecl>(CurContext);
  403     OldContextName = cast<ObjCContainerDecl>(OldDC)->getIdentifier();
  565                                            ObjCContainerDecl *CDecl,
 1052   ObjCContainerDecl *ClassImpDecl =
 1053     dyn_cast<ObjCContainerDecl>(CurContext);
 1700 CollectImmediateProperties(ObjCContainerDecl *CDecl,
 1701                            ObjCContainerDecl::PropertyMap &PropMap,
 1702                            ObjCContainerDecl::PropertyMap &SuperPropMap,
 1940     ObjCImplDecl *IMPDecl, ObjCContainerDecl *CDecl, ObjCCategoryDecl *C,
 1976                                            ObjCContainerDecl *CDecl,
 1978   ObjCContainerDecl::PropertyMap PropMap;
 1983   ObjCContainerDecl::PropertyMap NoNeedToImplPropMap;
 2007     std::unique_ptr<ObjCContainerDecl::PropertyMap> LazyMap;
 2020         ObjCContainerDecl::PropertyMap NoNeedToImplPropMap;
 2021         LazyMap.reset(new ObjCContainerDecl::PropertyMap());
 2063   for (ObjCContainerDecl::PropertyMap::iterator
 2116   ObjCContainerDecl::PropertyMap PM;
 2123   for (ObjCContainerDecl::PropertyMap::iterator I = PM.begin(), E = PM.end();
 2324   ObjCContainerDecl *CD = cast<ObjCContainerDecl>(property->getDeclContext());
 2324   ObjCContainerDecl *CD = cast<ObjCContainerDecl>(property->getDeclContext());
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  435     void VisitObjCContainerDecl(ObjCContainerDecl *D);
 1063 void ASTDeclReader::VisitObjCContainerDecl(ObjCContainerDecl *CD) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  135     void VisitObjCContainerDecl(ObjCContainerDecl *D);
  719 void ASTDeclWriter::VisitObjCContainerDecl(ObjCContainerDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp
   82     if (const auto *CD = dyn_cast<ObjCContainerDecl>(OD->getParent())) {
   82     if (const auto *CD = dyn_cast<ObjCContainerDecl>(OD->getParent())) {
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  179   static void containsInvalidationMethod(const ObjCContainerDecl *D,
  239     const ObjCContainerDecl *D, InvalidationInfo &OutInfo, bool Partial) {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
  738   if (auto *CD = dyn_cast<ObjCContainerDecl>(DC)) {
tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
   77 static void Scan(IvarUsageMap& M, const ObjCContainerDecl *D) {
tools/clang/tools/libclang/CIndex.cpp
  361     if (isa<ObjCContainerDecl>(D)) {
 1005 bool CursorVisitor::VisitObjCContainerDecl(ObjCContainerDecl *D) {
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  601 bool CXIndexDataConsumer::handleObjCContainer(const ObjCContainerDecl *D,
tools/clang/tools/libclang/CXIndexDataConsumer.h
  450   bool handleObjCContainer(const ObjCContainerDecl *D,
tools/clang/tools/libclang/CursorVisitor.h
  222   bool VisitObjCContainerDecl(ObjCContainerDecl *D);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  938               llvm::isa<clang::ObjCContainerDecl>(decl_from_modules) ||
tools/lldb/source/Symbol/ClangASTImporter.cpp
  310       } else if (auto *container_decl = dyn_cast<ObjCContainerDecl>(decl)) {
  310       } else if (auto *container_decl = dyn_cast<ObjCContainerDecl>(decl)) {
 1168   if (isa<ObjCContainerDecl>(from)) {
 1169     ObjCContainerDecl *to_container_decl = dyn_cast<ObjCContainerDecl>(to);
 1169     ObjCContainerDecl *to_container_decl = dyn_cast<ObjCContainerDecl>(to);
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; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>