|
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 219 VARTEMPLATE(VarTemplate, RedeclarableTemplateDecl)
tools/clang/include/clang/AST/ASTContext.h 125 class VarTemplateDecl;
tools/clang/include/clang/AST/ASTMutationListener.h 40 class VarTemplateDecl;
tools/clang/include/clang/AST/Decl.h 78 class VarTemplateDecl;
tools/clang/include/clang/AST/DeclTemplate.h 55 class VarTemplateDecl;
References
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);
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;
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 };
tools/clang/include/clang/AST/ASTContext.h 432 llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>;
tools/clang/include/clang/AST/ASTDumper.h 51 void VisitVarTemplateDecl(const VarTemplateDecl *D);
tools/clang/include/clang/AST/ASTMutationListener.h 67 AddedCXXTemplateSpecialization(const VarTemplateDecl *TD,
tools/clang/include/clang/AST/ASTNodeTraverser.h 448 void dumpTemplateDecl(const TemplateDecl *D) {
495 void VisitVarTemplateDecl(const VarTemplateDecl *D) { dumpTemplateDecl(D); }
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);
251 const T *get() const {
252 return BaseConverter<T>::get(NodeKind, Storage.buffer);
394 static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
395 if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
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/Decl.h 1515 VarTemplateDecl *getDescribedVarTemplate() const;
1517 void setDescribedVarTemplate(VarTemplateDecl *Template);
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 2502 llvm::PointerUnion<VarTemplateDecl *, SpecializedPartialSpecialization *>
2543 VarTemplateDecl *SpecializedTemplate,
2557 SourceLocation IdLoc, VarTemplateDecl *SpecializedTemplate, QualType T,
2572 VarTemplateDecl *getSpecializedTemplate() const;
2628 llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
2639 llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
2645 return SpecializedTemplate.get<VarTemplateDecl *>();
2682 void setInstantiationOf(VarTemplateDecl *TemplDecl) {
2766 VarTemplateDecl *SpecializedTemplate, QualType T, TypeSourceInfo *TInfo,
2784 VarTemplateDecl *SpecializedTemplate, QualType T,
2946 VarTemplateDecl *getDefinition();
2949 static VarTemplateDecl *Create(ASTContext &C, DeclContext *DC,
2955 static VarTemplateDecl *CreateDeserialized(ASTContext &C, unsigned ID);
2966 VarTemplateDecl *getCanonicalDecl() override {
2967 return cast<VarTemplateDecl>(RedeclarableTemplateDecl::getCanonicalDecl());
2969 const VarTemplateDecl *getCanonicalDecl() const {
2970 return cast<VarTemplateDecl>(RedeclarableTemplateDecl::getCanonicalDecl());
2975 VarTemplateDecl *getPreviousDecl() {
2976 return cast_or_null<VarTemplateDecl>(
2979 const VarTemplateDecl *getPreviousDecl() const {
2980 return cast_or_null<VarTemplateDecl>(
2985 VarTemplateDecl *getMostRecentDecl() {
2986 return cast<VarTemplateDecl>(
2989 const VarTemplateDecl *getMostRecentDecl() const {
2993 VarTemplateDecl *getInstantiatedFromMemberTemplate() const {
2994 return cast_or_null<VarTemplateDecl>(
tools/clang/include/clang/AST/JSONNodeDumper.h 390 void writeTemplateDecl(const TemplateDecl *TD, bool DumpExplicitInst) {
420 void VisitVarTemplateDecl(const VarTemplateDecl *VTD) {
tools/clang/include/clang/AST/RecursiveASTVisitor.h 1689 VarTemplateDecl *D) {
tools/clang/include/clang/AST/TextNodeDumper.h 324 void VisitVarTemplateDecl(const VarTemplateDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 160 const T *getNodeAs(StringRef ID) const {
165 return It->second.get<T>();
499 explicit Matcher(MatcherInterface<T> *Implementation)
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 &&
529 static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
534 bool matches(const T &Node,
581 return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
1243 operator Matcher<T>() const {
1245 ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
1246 .template unconditionalConvertTo<T>();
1255 class BindableMatcher : public Matcher<T> {
1257 explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
1258 explicit BindableMatcher(MatcherInterface<T> *Implementation)
1265 Matcher<T> bind(StringRef ID) const {
1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
1376 BindableMatcher<T> makeAllOfComposite(
1377 ArrayRef<const Matcher<T> *> InnerMatchers) {
1388 using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
1395 ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1397 .template unconditionalConvertTo<T>());
1408 ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
1557 : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
1558 makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/Sema/Lookup.h 507 DeclClass *getAsSingle() const {
509 return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/Sema.h 6809 DeclResult CheckVarTemplateId(VarTemplateDecl *Template,
6816 VarTemplateDecl *Template,
8462 VarTemplateDecl *VarTemplate, VarDecl *FromVar,
8482 VarTemplateDecl *VarTempl, const TemplateArgumentListInfo *TemplateArgs,
tools/clang/include/clang/Sema/Template.h 439 std::pair<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>, 4>
505 VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>>::iterator;
546 VarTemplateDecl *VarTemplate, VarDecl *FromVar, void *InsertPos,
558 VarTemplateDecl *VarTemplate,
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/include/clang/Serialization/ASTWriter.h 720 const VarTemplateDecl *TD,
tools/clang/lib/AST/ASTDumper.cpp 127 void ASTDumper::dumpTemplateDecl(const TemplateDecl *D, bool DumpExplicitInst) {
148 void ASTDumper::VisitVarTemplateDecl(const VarTemplateDecl *D) {
tools/clang/lib/AST/ASTImporter.cpp 152 LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
152 LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
155 To = cast_or_null<ImportT>(*ToOrErr);
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,
229 LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
234 CallOverloadedCreateFun<ToDeclT> OC;
256 GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
257 FromDeclT *FromD, Args &&... args) {
262 ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
447 bool IsStructuralMatch(VarTemplateDecl *From, VarTemplateDecl *To);
447 bool IsStructuralMatch(VarTemplateDecl *From, VarTemplateDecl *To);
501 ExpectedDecl VisitVarTemplateDecl(VarTemplateDecl *D);
2073 bool ASTNodeImporter::IsStructuralMatch(VarTemplateDecl *From,
2074 VarTemplateDecl *To) {
5317 ExpectedDecl ASTNodeImporter::VisitVarTemplateDecl(VarTemplateDecl *D) {
5352 if (VarTemplateDecl *FoundTemplate = dyn_cast<VarTemplateDecl>(Found)) {
5352 if (VarTemplateDecl *FoundTemplate = dyn_cast<VarTemplateDecl>(Found)) {
5391 VarTemplateDecl *ToVarTD;
5423 VarTemplateDecl *VarTemplate = nullptr;
tools/clang/lib/AST/Decl.cpp 514 VarTemplateDecl *temp = spec->getSpecializedTemplate();
2487 if (auto *VTD = From.dyn_cast<VarTemplateDecl *>()) {
2487 if (auto *VTD = From.dyn_cast<VarTemplateDecl *>()) {
2489 auto *NewVTD = VTD->getInstantiatedFromMemberTemplate();
2511 if (VarTemplateDecl *VarTemplate = VD->getDescribedVarTemplate()) {
2513 auto *NewVT = VarTemplate->getInstantiatedFromMemberTemplate();
2565 VarTemplateDecl *VarDecl::getDescribedVarTemplate() const {
2567 .dyn_cast<VarTemplateDecl *>();
2570 void VarDecl::setDescribedVarTemplate(VarTemplateDecl *Template) {
tools/clang/lib/AST/DeclTemplate.cpp 271 L->AddedCXXTemplateSpecialization(cast<Derived>(this),
988 VarTemplateDecl *VarTemplateDecl::getDefinition() {
989 VarTemplateDecl *CurD = this;
998 VarTemplateDecl *VarTemplateDecl::Create(ASTContext &C, DeclContext *DC,
1003 return new (C, DC) VarTemplateDecl(C, DC, L, Name, Params, Decl);
1006 VarTemplateDecl *VarTemplateDecl::CreateDeserialized(ASTContext &C,
1008 return new (C, ID) VarTemplateDecl(C, nullptr, SourceLocation(),
1043 addSpecializationImpl<VarTemplateDecl>(getSpecializations(), D, InsertPos);
1095 SourceLocation IdLoc, VarTemplateDecl *SpecializedTemplate, QualType T,
1111 SourceLocation IdLoc, VarTemplateDecl *SpecializedTemplate, QualType T,
1138 VarTemplateDecl *VarTemplateSpecializationDecl::getSpecializedTemplate() const {
1142 return SpecializedTemplate.get<VarTemplateDecl *>();
1162 VarTemplateDecl *SpecializedTemplate, QualType T, TypeSourceInfo *TInfo,
1178 VarTemplateDecl *SpecializedTemplate, QualType T, TypeSourceInfo *TInfo,
tools/clang/lib/AST/ExternalASTMerger.cpp 455 static bool importSpecializations(DeclTy *D, ASTImporter *Importer) {
474 else if (auto *VarTD = dyn_cast<VarTemplateDecl>(D))
474 else if (auto *VarTD = dyn_cast<VarTemplateDecl>(D))
tools/clang/lib/AST/TextNodeDumper.cpp 1674 void TextNodeDumper::VisitVarTemplateDecl(const VarTemplateDecl *D) {
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp 1876 VarTemplateDecl *T = TS->getSpecializedTemplate();
tools/clang/lib/Index/IndexSymbol.cpp 99 if (auto *VT = dyn_cast<VarTemplateDecl>(D)) {
tools/clang/lib/Index/USRGeneration.cpp 310 if (VarTemplateDecl *VarTmpl = D->getDescribedVarTemplate()) {
tools/clang/lib/Parse/ParseDecl.cpp 2289 if (VarTemplateDecl *VT = dyn_cast_or_null<VarTemplateDecl>(ThisDecl))
2289 if (VarTemplateDecl *VT = dyn_cast_or_null<VarTemplateDecl>(ThisDecl))
tools/clang/lib/Parse/ParseDeclCXX.cpp 2815 if (VarTemplateDecl *VT =
2816 ThisDecl ? dyn_cast<VarTemplateDecl>(ThisDecl) : nullptr)
tools/clang/lib/Sema/Sema.cpp 615 if (VarTemplateDecl *Template = VD->getDescribedVarTemplate())
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp 943 isa<FunctionTemplateDecl>(TD) || isa<VarTemplateDecl>(TD)) {
949 << (TD && isa<VarTemplateDecl>(TD)) << Template << R;
tools/clang/lib/Sema/SemaDecl.cpp 1093 IsVarTemplate = isa<VarTemplateDecl>(TD);
1155 !isa<VarTemplateDecl>(FirstDecl))
1239 if (isa<VarTemplateDecl>(TD))
3046 template<typename T> static bool isExternC(T *D) { return D->isExternC(); }
3047 static bool isExternC(VarTemplateDecl *) { return false; }
3054 ExpectedDecl *New) {
3072 auto *Old = dyn_cast<ExpectedDecl>(OldS->getTargetDecl());
3072 auto *Old = dyn_cast<ExpectedDecl>(OldS->getTargetDecl());
3971 VarTemplateDecl *NewTemplate = New->getDescribedVarTemplate();
3975 VarTemplateDecl *OldTemplate = nullptr;
3978 OldTemplate = dyn_cast<VarTemplateDecl>(Previous.getFoundDecl());
3983 if (checkUsingShadowRedecl<VarTemplateDecl>(*this, Shadow, NewTemplate))
4266 if (auto *OldTD = Old->getDescribedVarTemplate())
6641 VarTemplateDecl *NewTemplate = nullptr;
6781 VarTemplateDecl::Create(Context, DC, D.getIdentifierLoc(), Name,
7088 VarTemplateDecl *PrevVarTemplate =
tools/clang/lib/Sema/SemaDeclCXX.cpp 3356 } else if (isa<VarDecl>(Member) || isa<VarTemplateDecl>(Member)) {
3380 else if (VarTemplateDecl *VarTmpl = dyn_cast<VarTemplateDecl>(Member))
3380 else if (VarTemplateDecl *VarTmpl = dyn_cast<VarTemplateDecl>(Member))
tools/clang/lib/Sema/SemaExprMember.cpp 938 Sema::getVarTemplateSpecialization(VarTemplateDecl *VarTempl,
1096 if (isa<VarTemplateDecl>(MemberDecl)) {
1098 cast<VarTemplateDecl>(MemberDecl), TemplateArgs,
1161 if (VarTemplateDecl *VarTempl = dyn_cast<VarTemplateDecl>(MemberDecl)) {
1161 if (VarTemplateDecl *VarTempl = dyn_cast<VarTemplateDecl>(MemberDecl)) {
tools/clang/lib/Sema/SemaTemplate.cpp 258 isa<VarTemplateDecl>(TD) ? TNK_Var_template :
2971 : isa<VarTemplateDecl>(Template)
3213 isa<VarTemplateDecl>(Template) ||
3732 auto *Template = Partial->getSpecializedTemplate();
3735 << isa<VarTemplateDecl>(Template);
3850 VarTemplateDecl *VarTemplate =
3851 dyn_cast_or_null<VarTemplateDecl>(Name.getAsTemplateDecl());
4036 Sema::CheckVarTemplateId(VarTemplateDecl *Template, SourceLocation TemplateLoc,
4300 if (R.getAsSingle<VarTemplateDecl>() && !AnyDependentArguments()) {
4302 R.getAsSingle<VarTemplateDecl>(),
7467 else if (isa<VarTemplateDecl>(Specialized))
9454 VarTemplateDecl *PrevTemplate = Previous.getAsSingle<VarTemplateDecl>();
9454 VarTemplateDecl *PrevTemplate = Previous.getAsSingle<VarTemplateDecl>();
10460 if (auto *TD = From.dyn_cast<VarTemplateDecl *>())
10460 if (auto *TD = From.dyn_cast<VarTemplateDecl *>())
10473 void checkTemplate(TemplDecl *TD) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp 2748 auto *Template = Partial->getSpecializedTemplate();
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp 86 llvm::PointerUnion<VarTemplateDecl*,
94 VarTemplateDecl *Tmpl = Specialized.get<VarTemplateDecl *>();
94 VarTemplateDecl *Tmpl = Specialized.get<VarTemplateDecl *>();
570 bool IsVar = isa<VarTemplateDecl>(Active->Entity) ||
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 1519 Decl *TemplateDeclInstantiator::VisitVarTemplateDecl(VarTemplateDecl *D) {
1532 VarTemplateDecl *PrevVarTemplate = nullptr;
1537 PrevVarTemplate = dyn_cast<VarTemplateDecl>(Found.front());
1547 VarTemplateDecl *Inst = VarTemplateDecl::Create(
1547 VarTemplateDecl *Inst = VarTemplateDecl::Create(
1584 VarTemplateDecl *VarTemplate = D->getSpecializedTemplate();
1590 VarTemplateDecl *InstVarTemplate = dyn_cast<VarTemplateDecl>(Found.front());
1590 VarTemplateDecl *InstVarTemplate = dyn_cast<VarTemplateDecl>(Found.front());
3381 VarTemplateDecl *VarTemplate = D->getSpecializedTemplate();
3385 VarTemplateDecl *InstVarTemplate =
3386 cast_or_null<VarTemplateDecl>(SemaRef.FindInstantiatedDecl(
3425 VarTemplateDecl *VarTemplate, VarDecl *D, void *InsertPos,
3687 VarTemplateDecl *VarTemplate,
4406 VarTemplateDecl *VarTemplate, VarDecl *FromVar,
4436 else if (VarTemplateDecl *FromTemplate = FromVar->getDescribedVarTemplate())
4880 llvm::PointerUnion<VarTemplateDecl *,
5527 VarTemplateDecl *Templ = cast_or_null<VarTemplateDecl>(
5527 VarTemplateDecl *Templ = cast_or_null<VarTemplateDecl>(
tools/clang/lib/Serialization/ASTReaderDecl.cpp 144 T *ReadDeclAs() {
145 return Record.readDeclAs<T>();
264 void AddLazySpecializations(T *D,
389 void VisitVarTemplateDecl(VarTemplateDecl *D);
1423 VD->setDescribedVarTemplate(ReadDeclAs<VarTemplateDecl>());
2080 void ASTDeclReader::VisitVarTemplateDecl(VarTemplateDecl *D) {
2212 if (auto *VTD = dyn_cast<VarTemplateDecl>(InstD)) {
2212 if (auto *VTD = dyn_cast<VarTemplateDecl>(InstD)) {
2248 auto *CanonPattern = ReadDeclAs<VarTemplateDecl>();
2248 auto *CanonPattern = ReadDeclAs<VarTemplateDecl>();
3739 D = VarTemplateDecl::CreateDeserialized(Context, ID);
4028 else if (auto *VTD = dyn_cast<VarTemplateDecl>(D))
4028 else if (auto *VTD = dyn_cast<VarTemplateDecl>(D))
tools/clang/lib/Serialization/ASTWriter.cpp 6590 const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp 108 void VisitVarTemplateDecl(VarTemplateDecl *D);
203 void AddTemplateSpecializations(DeclTy *D) {
1012 if (VarTemplateDecl *TemplD = D->getDescribedVarTemplate()) {
1528 void ASTDeclWriter::VisitVarTemplateDecl(VarTemplateDecl *D) {
1542 llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
1544 if (Decl *InstFromD = InstFrom.dyn_cast<VarTemplateDecl *>()) {
tools/clang/tools/libclang/CIndex.cpp 6370 cast<VarTemplateDecl>(D)->getTemplatedDecl()->getDefinition())
tools/clang/unittests/AST/ASTImporterODRStrategiesTest.cpp 131 static const internal::VariadicDynCastAllOfMatcher<Decl, VarTemplateDecl>
135 using DeclTy = VarTemplateDecl;
253 auto *ToD = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
256 auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
tools/clang/unittests/AST/DeclMatcher.h 22 NodeType *Node = nullptr;
26 Node = const_cast<NodeType *>(Result.Nodes.getNodeAs<NodeType>(""));
32 NodeType *match(const Decl *D, const MatcherType &AMatcher) {
47 using UnaryPredicate = std::function<bool(const NodeType *)>;
51 if (auto N = Result.Nodes.getNodeAs<NodeType>("")) {
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>