|
reference, declaration → definition
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.cpp12759 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>