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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  479 VARTEMPLATEPARTIALSPECIALIZATION(VarTemplatePartialSpecialization, VarTemplateSpecializationDecl)
tools/clang/include/clang/AST/DeclTemplate.h
   56 class VarTemplatePartialSpecializationDecl;
tools/clang/include/clang/Sema/Sema.h
  101   class VarTemplatePartialSpecializationDecl;

References

include/llvm/ADT/FoldingSet.h
  221   static void Profile(const T &X, FoldingSetNodeID &ID) {
  224   static void Profile(T &X, FoldingSetNodeID &ID) {
  232   static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
  240   static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
  250   : public DefaultFoldingSetTrait<T> {};
  369   FoldingSetTrait<T>::Profile(X, TempID);
  375   FoldingSetTrait<T>::Profile(X, TempID);
  410   using iterator = FoldingSetIterator<T>;
  415   using const_iterator = FoldingSetIterator<const T>;
  420   using bucket_iterator = FoldingSetBucketIterator<T>;
  432   bool RemoveNode(T *N) { return FoldingSetBase::RemoveNode(N); }
  437   T *GetOrInsertNode(T *N) {
  437   T *GetOrInsertNode(T *N) {
  444   T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
  451   void InsertNode(T *N, void *InsertPos) {
  457   void InsertNode(T *N) {
  473 template <class T> class FoldingSet final : public FoldingSetImpl<T> {
  474   using Super = FoldingSetImpl<T>;
  480     T *TN = static_cast<T *>(N);
  481     FoldingSetTrait<T>::Profile(*TN, ID);
  488     T *TN = static_cast<T *>(N);
  489     return FoldingSetTrait<T>::Equals(*TN, ID, IDHash, TempID);
  495     T *TN = static_cast<T *>(N);
  496     return FoldingSetTrait<T>::ComputeHash(*TN, TempID);
  559   FoldingSet<T> Set;
  581   T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
  588   T *GetOrInsertNode(T *N) {
  588   T *GetOrInsertNode(T *N) {
  589     T *Result = Set.GetOrInsertNode(N);
  597   void InsertNode(T *N, void *InsertPos) {
  604   void InsertNode(T *N) {
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/ADT/iterator.h
   68     : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT,
  206     : public iterator_facade_base<DerivedT, IteratorCategoryT, T,
  288           pointee_iterator<WrappedIteratorT, T>, WrappedIteratorT,
  290           T> {
  296   T &operator*() const { return **this->I; }
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; }
   77     return isa_impl<To, From>::doit(Val);
  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
  309   return cast<X>(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;
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 };
tools/clang/include/clang/AST/ASTNodeTraverser.h
  508       const VarTemplatePartialSpecializationDecl *D) {
tools/clang/include/clang/AST/DeclBase.h
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclTemplate.h
  756     using DeclType = EntryType;
  758     static DeclType *getDecl(EntryType *D) {
  762     static ArrayRef<TemplateArgument> getTemplateArgs(EntryType *D) {
 2494     VarTemplatePartialSpecializationDecl *PartialSpecialization;
 2628   llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
 2639   llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
 2670   void setInstantiationOf(VarTemplatePartialSpecializationDecl *PartialSpec,
 2760   llvm::PointerIntPair<VarTemplatePartialSpecializationDecl *, 1, bool>
 2781   static VarTemplatePartialSpecializationDecl *
 2788   static VarTemplatePartialSpecializationDecl *CreateDeserialized(ASTContext &C,
 2791   VarTemplatePartialSpecializationDecl *getMostRecentDecl() {
 2792     return cast<VarTemplatePartialSpecializationDecl>(
 2841   VarTemplatePartialSpecializationDecl *getInstantiatedFromMember() const {
 2842     const auto *First =
 2843         cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
 2848   setInstantiatedFromMember(VarTemplatePartialSpecializationDecl *PartialSpec) {
 2849     auto *First = cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
 2849     auto *First = cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
 2870     const auto *First =
 2871         cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
 2877     auto *First = cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
 2877     auto *First = cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
 2902     llvm::FoldingSetVector<VarTemplatePartialSpecializationDecl>
 2914   llvm::FoldingSetVector<VarTemplatePartialSpecializationDecl> &
 3000   VarTemplatePartialSpecializationDecl *
 3005   void AddPartialSpecialization(VarTemplatePartialSpecializationDecl *D,
 3010       SmallVectorImpl<VarTemplatePartialSpecializationDecl *> &PS);
 3022   VarTemplatePartialSpecializationDecl *findPartialSpecInstantiatedFromMember(
 3023       VarTemplatePartialSpecializationDecl *D);
tools/clang/include/clang/Sema/Sema.h
 6859       VarTemplatePartialSpecializationDecl *Partial);
 7520   DeduceTemplateArguments(VarTemplatePartialSpecializationDecl *Partial,
 7653   VarTemplatePartialSpecializationDecl *getMoreSpecializedPartialSpecialization(
 7654       VarTemplatePartialSpecializationDecl *PS1,
 7655       VarTemplatePartialSpecializationDecl *PS2, SourceLocation Loc);
 7657   bool isMoreSpecializedThanPrimary(VarTemplatePartialSpecializationDecl *T,
 7979                           VarTemplatePartialSpecializationDecl *PartialSpec,
tools/clang/include/clang/Sema/Template.h
  439         std::pair<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>, 4>
  505         VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>>::iterator;
  556     VarTemplatePartialSpecializationDecl *
  559         VarTemplatePartialSpecializationDecl *PartialSpec);
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
 2541   T *readDeclAs() {
 2542     return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/lib/AST/ASTContext.cpp
 9962         isa<VarTemplatePartialSpecializationDecl>(VD))
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) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
 5481     using PartVarSpecDecl = VarTemplatePartialSpecializationDecl;
 5483     if (auto *FromPartial = dyn_cast<PartVarSpecDecl>(D)) {
tools/clang/lib/AST/Decl.cpp
 2105          isa<VarTemplatePartialSpecializationDecl>(this)))
 2134         !isa<VarTemplatePartialSpecializationDecl>(VTSD) &&
 2496       if (auto *VTPSD =
 2497               From.dyn_cast<VarTemplatePartialSpecializationDecl *>()) {
 2499           auto *NewVTPSD = VTPSD->getInstantiatedFromMember();
tools/clang/lib/AST/DeclTemplate.cpp
  235 typename RedeclarableTemplateDecl::SpecEntryTraits<EntryType>::DeclType *
  237     llvm::FoldingSetVector<EntryType> &Specs, ArrayRef<TemplateArgument> Args,
  239   using SETraits = SpecEntryTraits<EntryType>;
  242   EntryType::Profile(ID, Args, getASTContext());
  243   EntryType *Entry = Specs.FindNodeOrInsertPos(ID, InsertPos);
 1022 llvm::FoldingSetVector<VarTemplatePartialSpecializationDecl> &
 1046 VarTemplatePartialSpecializationDecl *
 1053     VarTemplatePartialSpecializationDecl *D, void *InsertPos) {
 1057     VarTemplatePartialSpecializationDecl *Existing =
 1068     SmallVectorImpl<VarTemplatePartialSpecializationDecl *> &PS) {
 1069   llvm::FoldingSetVector<VarTemplatePartialSpecializationDecl> &PartialSpecs =
 1073   for (VarTemplatePartialSpecializationDecl &P : PartialSpecs)
 1077 VarTemplatePartialSpecializationDecl *
 1079     VarTemplatePartialSpecializationDecl *D) {
 1081   for (VarTemplatePartialSpecializationDecl &P : getPartialSpecializations()) {
 1128   const auto *PS = dyn_cast<VarTemplatePartialSpecializationDecl>(this);
 1128   const auto *PS = dyn_cast<VarTemplatePartialSpecializationDecl>(this);
 1174 VarTemplatePartialSpecializationDecl *
 1184   auto *Result =
 1185       new (Context, DC) VarTemplatePartialSpecializationDecl(
 1192 VarTemplatePartialSpecializationDecl *
 1195   return new (C, ID) VarTemplatePartialSpecializationDecl(C);
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1434         if (isa<VarTemplatePartialSpecializationDecl>(V))
tools/clang/lib/Index/IndexSymbol.cpp
  152     if (isa<VarTemplatePartialSpecializationDecl>(D)) {
tools/clang/lib/Index/USRGeneration.cpp
  313   } else if (const VarTemplatePartialSpecializationDecl *PartialSpec
  314              = dyn_cast<VarTemplatePartialSpecializationDecl>(D)) {
tools/clang/lib/Sema/SemaDecl.cpp
12759   if (VD->isFileVarDecl() && !isa<VarTemplatePartialSpecializationDecl>(VD))
tools/clang/lib/Sema/SemaTemplate.cpp
 3722 static void checkMoreSpecializedThanPrimary(Sema &S, PartialSpecDecl *Partial) {
 3770                                                PartialSpecDecl *Partial) {
 3791       << isa<VarTemplatePartialSpecializationDecl>(Partial)
 3805     VarTemplatePartialSpecializationDecl *Partial) {
 3941     VarTemplatePartialSpecializationDecl *PrevPartial =
 3942         cast_or_null<VarTemplatePartialSpecializationDecl>(PrevDecl);
 3943     VarTemplatePartialSpecializationDecl *Partial =
 3944         VarTemplatePartialSpecializationDecl::Create(
 4030   VarTemplatePartialSpecializationDecl *Partial;
 4087     SmallVector<VarTemplatePartialSpecializationDecl *, 4> PartialSpecs;
 4091       VarTemplatePartialSpecializationDecl *Partial = PartialSpecs[I];
 4180   if (VarTemplatePartialSpecializationDecl *D =
 4181           dyn_cast<VarTemplatePartialSpecializationDecl>(InstantiationPattern))
10462     else if (auto *TD =
10463                  From.dyn_cast<VarTemplatePartialSpecializationDecl *>()) {
10473   void checkTemplate(TemplDecl *TD) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 2599     Sema &S, TemplateDeclT *Template, bool IsDeduced,
 2714 static typename std::enable_if<IsPartialSpecialization<T>::value,
 2717     Sema &S, T *Partial, bool IsPartialOrdering,
 2882 Sema::DeduceTemplateArguments(VarTemplatePartialSpecializationDecl *Partial,
 5050                                      TemplateLikeDecl *P2,
 5142 VarTemplatePartialSpecializationDecl *
 5144     VarTemplatePartialSpecializationDecl *PS1,
 5145     VarTemplatePartialSpecializationDecl *PS2, SourceLocation Loc) {
 5169     VarTemplatePartialSpecializationDecl *Spec, TemplateDeductionInfo &Info) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
   78           !isa<VarTemplatePartialSpecializationDecl>(Spec))
   87                          VarTemplatePartialSpecializationDecl*> Specialized
   89       if (VarTemplatePartialSpecializationDecl *Partial =
   90               Specialized.dyn_cast<VarTemplatePartialSpecializationDecl *>()) {
  317     VarTemplatePartialSpecializationDecl *PartialSpec,
  580         } else if (auto *D = dyn_cast<VarTemplatePartialSpecializationDecl>(
  580         } else if (auto *D = dyn_cast<VarTemplatePartialSpecializationDecl>(
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 1568     SmallVector<VarTemplatePartialSpecializationDecl *, 4> PartialSpecs;
 1580     VarTemplatePartialSpecializationDecl *D) {
 1593   if (VarTemplatePartialSpecializationDecl *Result =
 3685 VarTemplatePartialSpecializationDecl *
 3688     VarTemplatePartialSpecializationDecl *PartialSpec) {
 3786   VarTemplatePartialSpecializationDecl *InstPartialSpec =
 3787       VarTemplatePartialSpecializationDecl::Create(
 4433   if (VarTemplatePartialSpecializationDecl *PartialSpec =
 4434           dyn_cast<VarTemplatePartialSpecializationDecl>(FromVar))
 4492       isa<VarTemplatePartialSpecializationDecl>(OldVar) &&
 4493       isa<VarTemplatePartialSpecializationDecl>(NewVar);
 4499        isa<VarTemplatePartialSpecializationDecl>(OldVar));
 4579         !isa<VarTemplatePartialSpecializationDecl>(OldVTSD))
 4881                          VarTemplatePartialSpecializationDecl *> PatternPtr =
 4883       if (VarTemplatePartialSpecializationDecl *Partial =
 4884           PatternPtr.dyn_cast<VarTemplatePartialSpecializationDecl *>())
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  144     T *ReadDeclAs() {
  145       return Record.readDeclAs<T>();
  362         VarTemplatePartialSpecializationDecl *D);
 2223           cast<VarTemplatePartialSpecializationDecl>(InstD);
 2251       if (auto *Partial = dyn_cast<VarTemplatePartialSpecializationDecl>(D)) {
 2251       if (auto *Partial = dyn_cast<VarTemplatePartialSpecializationDecl>(D)) {
 2269     VarTemplatePartialSpecializationDecl *D) {
 2279         ReadDeclAs<VarTemplatePartialSpecializationDecl>());
 3745     D = VarTemplatePartialSpecializationDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   81         VarTemplatePartialSpecializationDecl *D);
  188     typename RedeclarableTemplateDecl::SpecEntryTraits<EntryType>::DeclType *
  189     getSpecializationDecl(EntryType &T) {
  190       return RedeclarableTemplateDecl::SpecEntryTraits<EntryType>::getDecl(&T);
  228       for (auto &Entry : getPartialSpecializations(Common))
 1542   llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
 1547     Record.AddDeclRef(InstFrom.get<VarTemplatePartialSpecializationDecl *>());
 1573     VarTemplatePartialSpecializationDecl *D) {
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
   39         llvm::isa<VarTemplatePartialSpecializationDecl>(Node) ||
tools/clang/tools/extra/clangd/AST.cpp
   43                  llvm::dyn_cast<VarTemplatePartialSpecializationDecl>(&ND)) {
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  123       typedef _Tp        value_type;
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; };
 1633     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>