|
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 415 CXXCONVERSION(CXXConversion, CXXMethodDecl)
tools/clang/include/clang/Sema/Sema.h 88 class CXXConversionDecl;
References
include/llvm/ADT/STLExtras.h 75 typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h 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;
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;
tools/clang/include/clang/AST/ASTLambda.h 47 inline bool isLambdaConversionOperator(CXXConversionDecl *C) {
53 if (CXXConversionDecl *Conv = dyn_cast<CXXConversionDecl>(D))
53 if (CXXConversionDecl *Conv = dyn_cast<CXXConversionDecl>(D))
56 if (CXXConversionDecl *Conv =
57 dyn_cast_or_null<CXXConversionDecl>(F->getTemplatedDecl()))
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);
259 const T &getUnchecked() const {
260 return BaseConverter<T>::getUnchecked(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/DeclBase.h 2536 static ::clang::DeclContext *doit(const FromTy *Val) {
2537 return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclCXX.h 2708 static CXXConversionDecl *
2713 static CXXConversionDecl *CreateDeserialized(ASTContext &C, unsigned ID);
2735 CXXConversionDecl *getCanonicalDecl() override {
2736 return cast<CXXConversionDecl>(FunctionDecl::getCanonicalDecl());
2738 const CXXConversionDecl *getCanonicalDecl() const {
tools/clang/include/clang/AST/RecursiveASTVisitor.h 2081 ReturnValue = TraverseFunctionHelper(D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
1129 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXConversionDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 160 const T *getNodeAs(StringRef ID) const {
165 return It->second.get<T>();
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>()),
436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<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>());
1067 using head = T1;
1073 using tail = TypeList<Ts...>;
1084 std::is_base_of<typename AnyTypeList::head, T>::value ||
1085 TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
1184 operator Matcher<T>() const {
1185 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
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 {
1335 template <typename T> operator Matcher<T>() const {
1337 Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1338 getMatchers<T>(std::index_sequence_for<Ps...>()))
1339 .template unconditionalConvertTo<T>();
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/ASTMatchers/Dynamic/VariantValue.h 199 ast_matchers::internal::Matcher<T> getTypedMatcher() const {
202 ->template convertTo<T>();
227 : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
228 typedef ast_matchers::internal::Matcher<T> MatcherT;
232 return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/Overload.h 784 CXXConversionDecl *Surrogate;
tools/clang/include/clang/Sema/Sema.h 3000 noteExplicitConv(Sema &S, CXXConversionDecl *Conv, QualType ConvTy) = 0;
3009 noteAmbiguous(Sema &S, CXXConversionDecl *Conv, QualType ConvTy) = 0;
3139 CXXConversionDecl *Conversion, DeclAccessPair FoundDecl,
3148 void AddSurrogateCandidate(CXXConversionDecl *Conversion,
6113 SourceLocation CurrentLoc, CXXConversionDecl *Conv);
6123 CXXConversionDecl *Conv);
6127 CXXConversionDecl *Conv,
6178 CXXConversionDecl *Method,
6422 Decl *ActOnConversionDeclarator(CXXConversionDecl *Conversion);
7573 CXXConversionDecl *&Specialization,
tools/clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h 44 return isa<CXXConversionDecl>(D) ? true : visit(D, D->getLocation());
tools/clang/lib/AST/ASTImporter.cpp 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,
247 CallOverloadedCreateFun<NewDeclT> OC;
468 ExpectedDecl VisitCXXConversionDecl(CXXConversionDecl *D);
3195 } else if (CXXConversionDecl *FromConversion =
3196 dyn_cast<CXXConversionDecl>(D)) {
3204 if (GetImportedOrCreateDecl<CXXConversionDecl>(
3356 ExpectedDecl ASTNodeImporter::VisitCXXConversionDecl(CXXConversionDecl *D) {
tools/clang/lib/AST/ASTStructuralEquivalence.cpp 1063 if (auto *Conversion1 = dyn_cast<CXXConversionDecl>(Method1)) {
1063 if (auto *Conversion1 = dyn_cast<CXXConversionDecl>(Method1)) {
1064 auto *Conversion2 = cast<CXXConversionDecl>(Method2);
1064 auto *Conversion2 = cast<CXXConversionDecl>(Method2);
tools/clang/lib/AST/DeclCXX.cpp 830 if (auto *Conversion = dyn_cast<CXXConversionDecl>(D)) {
830 if (auto *Conversion = dyn_cast<CXXConversionDecl>(D)) {
1497 cast<CXXConversionDecl>(Conv->getUnderlyingDecl()->getAsFunction())
1943 return cast<CXXConversionDecl>(Function)->getExplicitSpecifier();
2630 CXXConversionDecl *
2632 return new (C, ID) CXXConversionDecl(
2637 CXXConversionDecl *CXXConversionDecl::Create(
2646 CXXConversionDecl(C, RD, StartLoc, NameInfo, T, TInfo, isInline, ES,
tools/clang/lib/AST/DeclPrinter.cpp 598 CXXConversionDecl *ConversionDecl = dyn_cast<CXXConversionDecl>(D);
598 CXXConversionDecl *ConversionDecl = dyn_cast<CXXConversionDecl>(D);
tools/clang/lib/AST/Expr.cpp 2977 if (MCE->getMethodDecl() && isa<CXXConversionDecl>(MCE->getMethodDecl()))
tools/clang/lib/AST/ItaniumMangle.cpp 751 isa<CXXConversionDecl>(FD)))
tools/clang/lib/AST/StmtPrinter.cpp 1684 if (MD && isa<CXXConversionDecl>(MD)) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 604 const internal::VariadicDynCastAllOfMatcher<Decl, CXXConversionDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h 75 return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
78 static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
79 return Value.getMatcher().getTypedMatcher<T>();
83 return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
466 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
469 DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
778 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp 1620 } else if (const auto *CXXC = dyn_cast<CXXConversionDecl>(Method)) {
1620 } else if (const auto *CXXC = dyn_cast<CXXConversionDecl>(Method)) {
tools/clang/lib/Index/IndexSymbol.cpp 296 else if (isa<CXXConversionDecl>(MD))
tools/clang/lib/Sema/SemaCodeComplete.cpp 2598 if (isConstructor(ND) || isa<CXXConversionDecl>(ND))
tools/clang/lib/Sema/SemaDecl.cpp 3503 else if (isa<CXXConversionDecl>(NewMethod))
8249 return CXXConversionDecl::Create(
8808 !isa<CXXConversionDecl>(NewFD)) {
10451 } else if (CXXConversionDecl *Conversion
10452 = dyn_cast<CXXConversionDecl>(NewFD)) {
tools/clang/lib/Sema/SemaDeclCXX.cpp 9070 Decl *Sema::ActOnConversionDeclarator(CXXConversionDecl *Conversion) {
13288 CXXConversionDecl *Conv) {
13346 CXXConversionDecl *Conv)
tools/clang/lib/Sema/SemaExpr.cpp14915 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
14926 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
15526 } else if (isa<CXXConversionDecl>(MethodDecl) &&
15528 CXXConversionDecl *Conversion =
15529 cast<CXXConversionDecl>(MethodDecl->getFirstDecl());
tools/clang/lib/Sema/SemaExprCXX.cpp 1953 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
1964 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
3272 SemaDiagnosticBuilder noteExplicitConv(Sema &S, CXXConversionDecl *Conv,
3283 SemaDiagnosticBuilder noteAmbiguous(Sema &S, CXXConversionDecl *Conv,
3770 CXXConversionDecl *Conv = cast<CXXConversionDecl>(Method);
3770 CXXConversionDecl *Conv = cast<CXXConversionDecl>(Method);
3815 if (const CXXConversionDecl *Conv = dyn_cast<CXXConversionDecl>(FD)) {
3815 if (const CXXConversionDecl *Conv = dyn_cast<CXXConversionDecl>(FD)) {
tools/clang/lib/Sema/SemaInit.cpp 3948 CXXConversionDecl *Conv;
3950 Conv = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
3952 Conv = cast<CXXConversionDecl>(D);
4100 if (auto *CD = dyn_cast<CXXConversionDecl>(Best->Function)) {
4100 if (auto *CD = dyn_cast<CXXConversionDecl>(Best->Function)) {
4543 CXXConversionDecl *Conv;
4545 Conv = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
4547 Conv = cast<CXXConversionDecl>(D);
4588 if (isa<CXXConversionDecl>(Function))
5198 CXXConversionDecl *Conv;
5200 Conv = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
5202 Conv = cast<CXXConversionDecl>(D);
6728 if (auto *Conv = dyn_cast_or_null<CXXConversionDecl>(Callee))
8085 CXXConversionDecl *Conversion = cast<CXXConversionDecl>(Fn);
8085 CXXConversionDecl *Conversion = cast<CXXConversionDecl>(Fn);
tools/clang/lib/Sema/SemaLambda.cpp 1371 CXXConversionDecl *Conversion = CXXConversionDecl::Create(
1371 CXXConversionDecl *Conversion = CXXConversionDecl::Create(
1457 CXXConversionDecl *Conversion = CXXConversionDecl::Create(
1457 CXXConversionDecl *Conversion = CXXConversionDecl::Create(
1861 CXXConversionDecl *Conv,
tools/clang/lib/Sema/SemaOpenMP.cpp11058 SemaDiagnosticBuilder noteExplicitConv(Sema &S, CXXConversionDecl *Conv,
11067 SemaDiagnosticBuilder noteAmbiguous(Sema &S, CXXConversionDecl *Conv,
tools/clang/lib/Sema/SemaOverload.cpp 3442 CXXConversionDecl *Conv;
3445 Conv = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
3447 Conv = cast<CXXConversionDecl>(D);
3499 if (CXXConversionDecl *Conversion
3500 = dyn_cast<CXXConversionDecl>(Best->Function)) {
3585 CXXConversionDecl *Conv1 = dyn_cast_or_null<CXXConversionDecl>(Function1);
3585 CXXConversionDecl *Conv1 = dyn_cast_or_null<CXXConversionDecl>(Function1);
3589 CXXConversionDecl *Conv2 = dyn_cast<CXXConversionDecl>(Function2);
3589 CXXConversionDecl *Conv2 = dyn_cast<CXXConversionDecl>(Function2);
4484 CXXConversionDecl *Conv;
4486 Conv = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
4488 Conv = cast<CXXConversionDecl>(D);
5717 CXXConversionDecl *Conv =
5718 cast<CXXConversionDecl>(ViableConversions[I]->getUnderlyingDecl());
5732 CXXConversionDecl *Conversion =
5733 cast<CXXConversionDecl>(Found->getUnderlyingDecl());
5770 CXXConversionDecl *Conversion =
5771 cast<CXXConversionDecl>(Found->getUnderlyingDecl());
5815 CXXConversionDecl *Conv;
5818 Conv = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
5820 Conv = cast<CXXConversionDecl>(D);
5916 CXXConversionDecl *Conversion;
5920 Conversion = cast<CXXConversionDecl>(ConvTemplate->getTemplatedDecl());
5924 Conversion = cast<CXXConversionDecl>(D);
7044 CXXConversionDecl *Conversion, DeclAccessPair FoundDecl,
7243 CXXConversionDecl *Specialization = nullptr;
7273 void Sema::AddSurrogateCandidate(CXXConversionDecl *Conversion,
7811 CXXConversionDecl *Conv = cast<CXXConversionDecl>(D);
7811 CXXConversionDecl *Conv = cast<CXXConversionDecl>(D);
7877 if (CXXConversionDecl *Conv = dyn_cast<CXXConversionDecl>(D)) {
7877 if (CXXConversionDecl *Conv = dyn_cast<CXXConversionDecl>(D)) {
9388 isa<CXXConversionDecl>(Cand1.Function) &&
9389 isa<CXXConversionDecl>(Cand2.Function)) {
9439 isa<CXXConversionDecl>(Cand1.Function)? TPOC_Conversion
10572 ES = cast<CXXConversionDecl>(Cand->Function)->getExplicitSpecifier();
13658 CXXConversionDecl *Conv = cast<CXXConversionDecl>(D);
13658 CXXConversionDecl *Conv = cast<CXXConversionDecl>(D);
13725 CXXConversionDecl *Conv
13726 = cast<CXXConversionDecl>(
tools/clang/lib/Sema/SemaPseudoObject.cpp 1088 SmallVector<CXXConversionDecl *, 4> ConversionDecls;
1092 if (CXXConversionDecl *Conversion =
1093 dyn_cast<CXXConversionDecl>(D->getUnderlyingDecl())) {
tools/clang/lib/Sema/SemaStmt.cpp 688 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
699 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp 4145 CXXConversionDecl *&Specialization,
4150 CXXConversionDecl *ConversionGeneric
4151 = cast<CXXConversionDecl>(ConversionTemplate->getTemplatedDecl());
4253 Specialization = cast_or_null<CXXConversionDecl>(ConversionSpecialized);
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 2167 } else if (CXXConversionDecl *Conversion = dyn_cast<CXXConversionDecl>(D)) {
2167 } else if (CXXConversionDecl *Conversion = dyn_cast<CXXConversionDecl>(D)) {
2168 Method = CXXConversionDecl::Create(
2392 Decl *TemplateDeclInstantiator::VisitCXXConversionDecl(CXXConversionDecl *D) {
tools/clang/lib/Serialization/ASTReaderDecl.cpp 373 void VisitCXXConversionDecl(CXXConversionDecl *D);
1950 void ASTDeclReader::VisitCXXConversionDecl(CXXConversionDecl *D) {
3718 D = CXXConversionDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp 94 void VisitCXXConversionDecl(CXXConversionDecl *D);
1376 void ASTDeclWriter::VisitCXXConversionDecl(CXXConversionDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp 499 if (const auto *ConversionDec =
500 dyn_cast_or_null<CXXConversionDecl>(MethodDec)) {
tools/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp 41 const auto *CD = dyn_cast_or_null<CXXConversionDecl>(Call.getDecl());
41 const auto *CD = dyn_cast_or_null<CXXConversionDecl>(Call.getDecl());
tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp 43 !isa<CXXConversionDecl>(Target))
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp 191 !isa<CXXConversionDecl>(BaseMD);
tools/clang/tools/extra/clang-tidy/google/ExplicitConstructorCheck.cpp 91 if (const auto *Conversion =
92 Result.Nodes.getNodeAs<CXXConversionDecl>("conversion")) {
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp 406 if (MDecl && !isa<CXXConversionDecl>(MDecl) &&
tools/clang/tools/extra/clang-tidy/modernize/UseNodiscardCheck.cpp 40 return isa<CXXConversionDecl>(Node);
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp 158 if (const auto *MemDecl =
159 dyn_cast<CXXConversionDecl>(MemCall->getMethodDecl())) {
tools/clang/tools/extra/clangd/XRefs.cpp 177 if (isa<CXXConversionDecl>(ME->getMemberDecl()))
804 if (CurLoc.isInvalid() && dyn_cast<CXXConversionDecl>(D))
tools/clang/tools/libclang/CIndex.cpp 824 if ((FTL && !isa<CXXConversionDecl>(ND) && !HasTrailingRT &&
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) {
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp 25 std::tuple<NodeType *, NodeType *> makeDecls(
25 std::tuple<NodeType *, NodeType *> makeDecls(
37 NodeType *D0 = FirstDeclMatcher<NodeType>().match(
39 NodeType *D1 = FirstDeclMatcher<NodeType>().match(
63 std::tuple<NodeType *, NodeType *> makeDecls(
63 std::tuple<NodeType *, NodeType *> makeDecls(
66 return makeDecls<NodeType, MatcherType>(
524 auto t = makeDecls<CXXConversionDecl>("struct X { operator bool(); };",
tools/lldb/source/Symbol/ClangASTContext.cpp 8213 cxx_method_decl = clang::CXXConversionDecl::Create(
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>