|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
gen/tools/clang/include/clang/AST/StmtNodes.inc 1083 MATERIALIZETEMPORARYEXPR(MaterializeTemporaryExpr, Expr)
tools/clang/include/clang/AST/ASTContext.h 101 class MaterializeTemporaryExpr;
tools/clang/include/clang/AST/Expr.h 49 class MaterializeTemporaryExpr;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h 57 class MaterializeTemporaryExpr;
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);
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) {
265 return cast_convert_val<X, Y*,
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) {
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 };
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 278 llvm::DenseMap<const MaterializeTemporaryExpr *, APValue *>
2832 APValue *getMaterializedTemporaryValue(const MaterializeTemporaryExpr *E,
tools/clang/include/clang/AST/ASTTypeTraits.h 65 return ASTNodeKind(KindToKindId<T>::Id);
234 static DynTypedNode create(const T &Node) {
235 return BaseConverter<T>::create(Node);
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 *>(
474 : public DynCastPtrConverter<T, Stmt> {};
tools/clang/include/clang/AST/JSONNodeDumper.h 282 void VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *MTE);
tools/clang/include/clang/AST/TextNodeDumper.h 260 void VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *Node);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 1719 MaterializeTemporaryExpr>
6622 if (const auto *MaterializeTemp =
6623 dyn_cast<MaterializeTemporaryExpr>(CtorExpr->getArg(0))) {
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>()),
436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<T>();
479 class WrapperMatcherInterface : public MatcherInterface<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>());
994 bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
997 static_assert(std::is_base_of<Decl, T>::value ||
998 std::is_base_of<Stmt, T>::value ||
999 std::is_base_of<NestedNameSpecifier, T>::value ||
1000 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1001 std::is_base_of<TypeLoc, T>::value ||
1002 std::is_base_of<QualType, T>::value,
1026 bool matchesAncestorOf(const T &Node,
1030 static_assert(std::is_base_of<Decl, T>::value ||
1031 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1032 std::is_base_of<Stmt, T>::value ||
1033 std::is_base_of<TypeLoc, T>::value,
1146 template <typename To> operator Matcher<To>() const {
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 {
1285 class HasMatcher : public WrapperMatcherInterface<T> {
1290 bool matches(const T &Node, ASTMatchFinder *Finder,
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) {
1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
1446 bool matches(const T &Node, ASTMatchFinder *Finder,
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/Analysis/ConstructionContext.h 96 ConstructionContextItem(const MaterializeTemporaryExpr *MTE)
275 BumpVectorContext &C, const MaterializeTemporaryExpr *MTE,
462 const MaterializeTemporaryExpr *MTE;
467 const MaterializeTemporaryExpr *MTE)
487 const MaterializeTemporaryExpr *getMaterializedTemporaryExpr() const {
505 const CXXBindTemporaryExpr *BTE, const MaterializeTemporaryExpr *MTE)
531 const CXXBindTemporaryExpr *BTE, const MaterializeTemporaryExpr *MTE,
tools/clang/include/clang/Sema/Sema.h 5766 MaterializeTemporaryExpr *
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h 104 ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C);
108 return isa<STMT>(S);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h 546 void CreateCXXTemporaryObject(const MaterializeTemporaryExpr *ME,
tools/clang/lib/AST/ASTContext.cpp 878 for (std::pair<const MaterializeTemporaryExpr *, APValue *> &MTVPair :
10328 ASTContext::getMaterializedTemporaryValue(const MaterializeTemporaryExpr *E,
tools/clang/lib/AST/ASTImporter.cpp 584 ExpectedStmt VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E);
6993 ASTNodeImporter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) {
7004 auto *ToMTE = new (Importer.getToContext()) MaterializeTemporaryExpr(
7004 auto *ToMTE = new (Importer.getToContext()) MaterializeTemporaryExpr(
tools/clang/lib/AST/Expr.cpp 51 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) {
1893 if (auto *Materialize = dyn_cast<MaterializeTemporaryExpr>(E))
2724 return cast<MaterializeTemporaryExpr>(this)->GetTemporaryExpr()
2749 return cast<MaterializeTemporaryExpr>(E)->GetTemporaryExpr()
2824 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
2824 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
2840 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
2840 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
2874 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
2874 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
3001 if (const MaterializeTemporaryExpr *M = dyn_cast<MaterializeTemporaryExpr>(E))
3001 if (const MaterializeTemporaryExpr *M = dyn_cast<MaterializeTemporaryExpr>(E))
3013 if (const MaterializeTemporaryExpr *M = dyn_cast<MaterializeTemporaryExpr>(E))
3013 if (const MaterializeTemporaryExpr *M = dyn_cast<MaterializeTemporaryExpr>(E))
3107 if (const MaterializeTemporaryExpr *M
3108 = dyn_cast<MaterializeTemporaryExpr>(E)) {
3286 return cast<MaterializeTemporaryExpr>(this)->GetTemporaryExpr()
3752 } else if (const MaterializeTemporaryExpr *M
3753 = dyn_cast<MaterializeTemporaryExpr>(this)) {
4462 if (const MaterializeTemporaryExpr *m = dyn_cast<MaterializeTemporaryExpr>(e))
4462 if (const MaterializeTemporaryExpr *m = dyn_cast<MaterializeTemporaryExpr>(e))
tools/clang/lib/AST/ExprClassification.cpp 411 return cast<MaterializeTemporaryExpr>(E)->isBoundToLvalueReference()
tools/clang/lib/AST/ExprConstant.cpp 106 if (const MaterializeTemporaryExpr *MTE =
107 dyn_cast<MaterializeTemporaryExpr>(Base)) {
1766 APValue &CallStackFrame::createTemporary(const KeyT *Key, QualType T,
1886 return cast<MaterializeTemporaryExpr>(E)->getStorageDuration() == SD_Static;
1924 return E && !isa<MaterializeTemporaryExpr>(E);
1988 llvm::SmallPtrSet<const MaterializeTemporaryExpr *, 8>;
2064 } else if (const auto *MTE = dyn_cast_or_null<MaterializeTemporaryExpr>(
2064 } else if (const auto *MTE = dyn_cast_or_null<MaterializeTemporaryExpr>(
3088 if (auto *BaseMTE = dyn_cast<MaterializeTemporaryExpr>(BaseE))
3645 if (const MaterializeTemporaryExpr *MTE =
3646 dyn_cast_or_null<MaterializeTemporaryExpr>(Base)) {
7325 bool VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *E);
7466 const MaterializeTemporaryExpr *E) {
9029 if (const MaterializeTemporaryExpr *ME
9030 = dyn_cast<MaterializeTemporaryExpr>(E->getArg(0)))
tools/clang/lib/AST/ItaniumMangle.cpp 4341 mangleExpression(cast<MaterializeTemporaryExpr>(E)->GetTemporaryExpr());
tools/clang/lib/AST/JSONNodeDumper.cpp 1344 const MaterializeTemporaryExpr *MTE) {
tools/clang/lib/AST/StmtPrinter.cpp 2231 void StmtPrinter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *Node){
tools/clang/lib/AST/StmtProfile.cpp 1893 const MaterializeTemporaryExpr *S) {
tools/clang/lib/AST/TextNodeDumper.cpp 940 const MaterializeTemporaryExpr *Node) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 679 const internal::VariadicDynCastAllOfMatcher<Stmt, MaterializeTemporaryExpr>
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/Analysis/CFG.cpp 589 CFGBlock *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *MTE,
1430 auto *MTE = cast<MaterializeTemporaryExpr>(Child);
1430 auto *MTE = cast<MaterializeTemporaryExpr>(Child);
1695 if (const MaterializeTemporaryExpr *MTE
1696 = dyn_cast<MaterializeTemporaryExpr>(Init)) {
2258 return VisitMaterializeTemporaryExpr(cast<MaterializeTemporaryExpr>(S),
3461 CFGBuilder::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *MTE,
4645 const MaterializeTemporaryExpr* MTE = cast<MaterializeTemporaryExpr>(E);
4645 const MaterializeTemporaryExpr* MTE = cast<MaterializeTemporaryExpr>(E);
4651 cast<MaterializeTemporaryExpr>(E)
tools/clang/lib/Analysis/ConstructionContext.cpp 46 BumpVectorContext &C, const MaterializeTemporaryExpr *MTE,
129 const auto *MTE = cast<MaterializeTemporaryExpr>(ParentItem.getStmt());
129 const auto *MTE = cast<MaterializeTemporaryExpr>(ParentItem.getStmt());
187 const auto *MTE = cast<MaterializeTemporaryExpr>(TopItem.getStmt());
187 const auto *MTE = cast<MaterializeTemporaryExpr>(TopItem.getStmt());
tools/clang/lib/Analysis/Consumed.cpp 509 void VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *Temp);
849 const MaterializeTemporaryExpr *Temp) {
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp 247 return translate(cast<MaterializeTemporaryExpr>(S)->GetTemporaryExpr(),
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGExpr.cpp 254 pushTemporaryCleanup(CodeGenFunction &CGF, const MaterializeTemporaryExpr *M,
371 const MaterializeTemporaryExpr *M,
419 EmitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *M) {
1372 return EmitMaterializeTemporaryExpr(cast<MaterializeTemporaryExpr>(E));
tools/clang/lib/CodeGen/CGExprAgg.cpp 186 void VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E);
639 void AggExprEmitter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E){
tools/clang/lib/CodeGen/CGExprConstant.cpp 1174 llvm::Constant *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E,
1773 const MaterializeTemporaryExpr *E);
2002 const MaterializeTemporaryExpr *E) {
tools/clang/lib/CodeGen/CGExprScalar.cpp 640 Value *VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *E) {
tools/clang/lib/CodeGen/CodeGenFunction.h 3516 LValue EmitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *E);
tools/clang/lib/CodeGen/CodeGenModule.cpp 5003 const MaterializeTemporaryExpr *E, const Expr *Init) {
tools/clang/lib/CodeGen/CodeGenModule.h 957 ConstantAddress GetAddrOfGlobalTemporary(const MaterializeTemporaryExpr *E,
tools/clang/lib/Sema/JumpDiagnostics.cpp 544 MaterializeTemporaryExpr *MTE = cast<MaterializeTemporaryExpr>(S);
544 MaterializeTemporaryExpr *MTE = cast<MaterializeTemporaryExpr>(S);
tools/clang/lib/Sema/SemaChecking.cpp 9268 const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E);
9268 const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E);
tools/clang/lib/Sema/SemaExpr.cpp 7641 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) {
7641 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) {
8697 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Op))
8697 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Op))
tools/clang/lib/Sema/SemaInit.cpp 6947 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) {
6947 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) {
7068 } else if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(L)) {
7068 } else if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(L)) {
7215 if (isa<MaterializeTemporaryExpr>(UO->getSubExpr()))
7334 auto *MTE = dyn_cast<MaterializeTemporaryExpr>(L);
7334 auto *MTE = dyn_cast<MaterializeTemporaryExpr>(L);
7413 if (isa<MaterializeTemporaryExpr>(L)) {
7485 if (isa<MaterializeTemporaryExpr>(L)) {
7691 MaterializeTemporaryExpr *
7695 MaterializeTemporaryExpr(T, Temporary, BoundToLvalueReference);
8010 MaterializeTemporaryExpr *MTE = S.CreateMaterializeTemporaryExpr(
8453 MaterializeTemporaryExpr *MTE = S.CreateMaterializeTemporaryExpr(
tools/clang/lib/Sema/SemaOpenMP.cpp 864 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
864 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
tools/clang/lib/Sema/SemaStmt.cpp 2720 const MaterializeTemporaryExpr *MTE =
2721 dyn_cast<MaterializeTemporaryExpr>(InitExpr);
2738 const MaterializeTemporaryExpr *MTE = cast<MaterializeTemporaryExpr>(E);
2738 const MaterializeTemporaryExpr *MTE = cast<MaterializeTemporaryExpr>(E);
tools/clang/lib/Sema/TreeTransform.h 3457 if (MaterializeTemporaryExpr *MTE = dyn_cast<MaterializeTemporaryExpr>(Init))
3457 if (MaterializeTemporaryExpr *MTE = dyn_cast<MaterializeTemporaryExpr>(Init))
tools/clang/lib/Serialization/ASTReaderStmt.cpp 1901 void ASTStmtReader::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) {
3478 S = new (Context) MaterializeTemporaryExpr(Empty);
tools/clang/lib/Serialization/ASTWriterStmt.cpp 1836 void ASTStmtWriter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) {
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp 175 check::PostStmt<MaterializeTemporaryExpr>, check::Bind,
258 void checkPostStmt(const MaterializeTemporaryExpr *MTE,
765 void IteratorChecker::checkPostStmt(const MaterializeTemporaryExpr *MTE,
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 373 if (const auto *MT = dyn_cast<MaterializeTemporaryExpr>(Result)) {
373 if (const auto *MT = dyn_cast<MaterializeTemporaryExpr>(Result)) {
1428 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(ArgE)) {
1428 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(ArgE)) {
1709 const auto *MTE = cast<MaterializeTemporaryExpr>(S);
1709 const auto *MTE = cast<MaterializeTemporaryExpr>(S);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp 26 void ExprEngine::CreateCXXTemporaryObject(const MaterializeTemporaryExpr *ME,
236 const MaterializeTemporaryExpr *MTE = TCC->getMaterializedTemporaryExpr();
281 const MaterializeTemporaryExpr *MTE = TCC->getMaterializedTemporaryExpr();
tools/clang/tools/extra/clang-tidy/abseil/StrCatAppendCheck.cpp 26 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
26 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E))
tools/clang/tools/extra/clang-tidy/modernize/AvoidBindCheck.cpp 55 if (const auto *M = dyn_cast<MaterializeTemporaryExpr>(E)) {
55 if (const auto *M = dyn_cast<MaterializeTemporaryExpr>(E)) {
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp 179 if (const auto *Temp = dyn_cast<MaterializeTemporaryExpr>(E))
179 if (const auto *Temp = dyn_cast<MaterializeTemporaryExpr>(E))
tools/clang/tools/extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp 73 const auto *Materialized = dyn_cast<MaterializeTemporaryExpr>(Init);
73 const auto *Materialized = dyn_cast<MaterializeTemporaryExpr>(Init);
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp 204 if (const auto *M = dyn_cast<MaterializeTemporaryExpr>(Arg))
204 if (const auto *M = dyn_cast<MaterializeTemporaryExpr>(Arg))
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_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
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
1447 : public __and_<is_destructible<_Tp>, integral_constant<bool,
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; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>