|
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 71 FRIEND(Friend, Decl)
tools/clang/include/clang/AST/DeclCXX.h 69 class FriendDecl;
tools/clang/include/clang/Sema/Sema.h 121 class FriendDecl;
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);
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/TrailingObjects.h 134 : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
137 typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
141 static const bool value = alignof(PrevTy) < alignof(NextTy);
162 getTrailingObjectsImpl(const BaseTy *Obj,
177 getTrailingObjectsImpl(BaseTy *Obj,
179 auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
232 BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
232 BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
233 BaseTy, TrailingTys...> {
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
257 static const BaseTy *
258 getTrailingObjectsImpl(const BaseTy *Obj,
259 TrailingObjectsBase::OverloadToken<BaseTy>) {
263 static BaseTy *
264 getTrailingObjectsImpl(BaseTy *Obj,
265 TrailingObjectsBase::OverloadToken<BaseTy>) {
277 callNumTrailingObjects(const BaseTy *Obj,
278 TrailingObjectsBase::OverloadToken<BaseTy>) {
283 static size_t callNumTrailingObjects(const BaseTy *Obj,
284 TrailingObjectsBase::OverloadToken<T>) {
tools/clang/include/clang/AST/ASTNodeTraverser.h 545 void VisitFriendDecl(const FriendDecl *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);
234 static DynTypedNode create(const T &Node) {
235 return BaseConverter<T>::create(Node);
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 474 FriendDecl *getFirstFriend() const;
669 void pushFriendDecl(FriendDecl *FD);
tools/clang/include/clang/AST/DeclFriend.h 55 private llvm::TrailingObjects<FriendDecl, TemplateParameterList *> {
97 FriendDecl *getNextFriend() {
99 return cast_or_null<FriendDecl>(NextFriend.get(nullptr));
103 FriendDecl *getNextFriendSlowCase();
111 static FriendDecl *Create(ASTContext &C, DeclContext *DC,
116 static FriendDecl *CreateDeserialized(ASTContext &C, unsigned ID,
190 FriendDecl *Ptr;
192 explicit friend_iterator(FriendDecl *Ptr) : Ptr(Ptr) {}
197 using value_type = FriendDecl *;
198 using reference = FriendDecl *;
199 using pointer = FriendDecl *;
251 inline void CXXRecordDecl::pushFriendDecl(FriendDecl *FD) {
tools/clang/include/clang/AST/JSONNodeDumper.h 243 void VisitFriendDecl(const FriendDecl *FD);
tools/clang/include/clang/AST/RecursiveASTVisitor.h 1445 if (D->getFriendType())
1446 TRY_TO(TraverseTypeLoc(D->getFriendType()->getTypeLoc()));
1448 TRY_TO(TraverseDecl(D->getFriendDecl()));
tools/clang/include/clang/AST/TextNodeDumper.h 335 void VisitFriendDecl(const FriendDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
1201 extern const internal::VariadicDynCastAllOfMatcher<Decl, FriendDecl> friendDecl;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 128 inline QualType getUnderlyingType(const FriendDecl &Node) {
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>();
479 class WrapperMatcherInterface : public MatcherInterface<T> {
499 explicit Matcher(MatcherInterface<T> *Implementation)
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,
1009 bool matchesDescendantOf(const T &Node,
1013 static_assert(std::is_base_of<Decl, T>::value ||
1014 std::is_base_of<Stmt, T>::value ||
1015 std::is_base_of<NestedNameSpecifier, T>::value ||
1016 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1017 std::is_base_of<TypeLoc, T>::value ||
1018 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,
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;
1146 template <typename To> operator Matcher<To>() const {
1202 operator Matcher<T>() const {
1203 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 {
1285 class HasMatcher : public WrapperMatcherInterface<T> {
1290 bool matches(const T &Node, ASTMatchFinder *Finder,
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) {
1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
1426 bool matches(const T &Node, ASTMatchFinder *Finder,
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/Sema/Sema.h 6406 FriendDecl *CheckFriendTypeDecl(SourceLocation LocStart,
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,
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));
471 ExpectedDecl VisitFriendDecl(FriendDecl *D);
1728 if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D) || isa<FriendDecl>(D)) {
3515 ExpectedDecl ASTNodeImporter::VisitFriendDecl(FriendDecl *D) {
3524 FriendDecl *ImportedFriend = RD->getFirstFriend();
3542 FriendDecl::FriendUnion ToFU;
3576 FriendDecl *FrD;
tools/clang/lib/AST/ASTImporterLookupTable.cpp 34 bool VisitFriendDecl(FriendDecl *D) {
tools/clang/lib/AST/ASTStructuralEquivalence.cpp 1548 FriendDecl *D1, FriendDecl *D2) {
1548 FriendDecl *D1, FriendDecl *D2) {
1869 } else if (FriendDecl *FrD1 = dyn_cast<FriendDecl>(D1)) {
1869 } else if (FriendDecl *FrD1 = dyn_cast<FriendDecl>(D1)) {
1870 if (FriendDecl *FrD2 = dyn_cast<FriendDecl>(D2)) {
1870 if (FriendDecl *FrD2 = dyn_cast<FriendDecl>(D2)) {
tools/clang/lib/AST/DeclFriend.cpp 29 FriendDecl *FriendDecl::getNextFriendSlowCase() {
30 return cast_or_null<FriendDecl>(
34 FriendDecl *FriendDecl::Create(ASTContext &C, DeclContext *DC,
57 FriendDecl::additionalSizeToAlloc<TemplateParameterList *>(
59 auto *FD = new (C, DC, Extra) FriendDecl(DC, L, Friend, FriendL,
59 auto *FD = new (C, DC, Extra) FriendDecl(DC, L, Friend, FriendL,
65 FriendDecl *FriendDecl::CreateDeserialized(ASTContext &C, unsigned ID,
69 return new (C, ID, Extra) FriendDecl(EmptyShell(), FriendTypeNumTPLists);
72 FriendDecl *CXXRecordDecl::getFirstFriend() const {
75 return First ? cast<FriendDecl>(First) : nullptr;
tools/clang/lib/AST/DeclPrinter.cpp 69 void VisitFriendDecl(FriendDecl *D);
776 void DeclPrinter::VisitFriendDecl(FriendDecl *D) {
tools/clang/lib/AST/JSONNodeDumper.cpp 892 void JSONNodeDumper::VisitFriendDecl(const FriendDecl *FD) {
tools/clang/lib/AST/ODRHash.cpp 363 void VisitFriendDecl(const FriendDecl *D) {
tools/clang/lib/AST/TextNodeDumper.cpp 1786 void TextNodeDumper::VisitFriendDecl(const FriendDecl *D) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 613 const internal::VariadicDynCastAllOfMatcher<Decl, FriendDecl> friendDecl;
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/Index/IndexDecl.cpp 698 bool VisitFriendDecl(const FriendDecl *D) {
tools/clang/lib/Sema/SemaAccess.cpp 541 FriendDecl *FriendD) {
574 for (auto *Friend : Class->friends()) {
tools/clang/lib/Sema/SemaDeclCXX.cpp 6479 for (FriendDecl *D : Record->friends()) {
14521 FriendDecl *Sema::CheckFriendTypeDecl(SourceLocation LocStart,
14586 return FriendDecl::Create(Context, CurContext,
14678 FriendDecl *Friend = FriendDecl::Create(Context, CurContext, NameLoc,
14678 FriendDecl *Friend = FriendDecl::Create(Context, CurContext, NameLoc,
14702 FriendDecl *Friend = FriendDecl::Create(Context, CurContext, NameLoc,
14702 FriendDecl *Friend = FriendDecl::Create(Context, CurContext, NameLoc,
15090 FriendDecl *FrD = FriendDecl::Create(Context, CurContext,
15090 FriendDecl *FrD = FriendDecl::Create(Context, CurContext,
tools/clang/lib/Sema/SemaTemplate.cpp 1698 FriendDecl *Friend = FriendDecl::Create(
1698 FriendDecl *Friend = FriendDecl::Create(
8021 FriendDecl *Friend = FriendDecl::Create(Context, CurContext,
8021 FriendDecl *Friend = FriendDecl::Create(Context, CurContext,
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 1092 Decl *TemplateDeclInstantiator::VisitFriendDecl(FriendDecl *D) {
1110 FriendDecl *FD = SemaRef.CheckFriendTypeDecl(D->getBeginLoc(),
1131 FriendDecl *FD =
1132 FriendDecl::Create(SemaRef.Context, Owner, D->getLocation(),
tools/clang/lib/Serialization/ASTCommon.h 101 if (auto *FD = dyn_cast<FriendDecl>(LexicalD))
101 if (auto *FD = dyn_cast<FriendDecl>(LexicalD))
tools/clang/lib/Serialization/ASTReader.cpp11414 FriendDecl *FirstFriend = cast<FriendDecl>(FirstDecl);
11414 FriendDecl *FirstFriend = cast<FriendDecl>(FirstDecl);
11415 FriendDecl *SecondFriend = cast<FriendDecl>(SecondDecl);
11415 FriendDecl *SecondFriend = cast<FriendDecl>(SecondDecl);
tools/clang/lib/Serialization/ASTReaderDecl.cpp 402 void VisitFriendDecl(FriendDecl *D);
1970 void ASTDeclReader::VisitFriendDecl(FriendDecl *D) {
3724 D = FriendDecl::CreateDeserialized(Context, ID, Record.readInt());
tools/clang/lib/Serialization/ASTWriterDecl.cpp 121 void VisitFriendDecl(FriendDecl *D);
1406 void ASTDeclWriter::VisitFriendDecl(FriendDecl *D) {
tools/clang/tools/extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp 63 const auto *Decl = Result.Nodes.getNodeAs<FriendDecl>("friend_decl");
63 const auto *Decl = Result.Nodes.getNodeAs<FriendDecl>("friend_decl");
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp 319 const FunctionDecl &F, const FriendDecl *Fr, const ASTContext &Ctx,
394 const auto *Fr = Result.Nodes.getNodeAs<FriendDecl>("Friend");
394 const auto *Fr = Result.Nodes.getNodeAs<FriendDecl>("Friend");
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h 54 const FriendDecl *Fr, const ASTContext &Ctx,
tools/clang/tools/extra/clang-tidy/readability/RedundantDeclarationCheck.cpp 54 if (Parent.get<FriendDecl>())
tools/clang/tools/libclang/CIndex.cpp 1280 bool CursorVisitor::VisitFriendDecl(FriendDecl *D) {
6444 if (NamedDecl *Friend = cast<FriendDecl>(D)->getFriendDecl())
tools/clang/tools/libclang/CursorVisitor.h 241 bool VisitFriendDecl(FriendDecl *D);
tools/clang/unittests/AST/ASTImporterTest.cpp 2856 auto *FromFriend = FirstDeclMatcher<FriendDecl>().match(FromTU, friendDecl());
2869 auto *ToFriend = FirstDeclMatcher<FriendDecl>().match(ToTU, friendDecl());
3799 auto *Friend = FirstDeclMatcher<FriendDecl>().match(ToD, friendDecl());
3946 auto *Friend = FirstDeclMatcher<FriendDecl>().match(FromTU0, friendDecl());
4478 static const RecordDecl *getRecordDeclOfFriend(FriendDecl *FD) {
4494 auto *FriendD = FirstDeclMatcher<FriendDecl>().match(ToTU, friendDecl());
4520 auto *FriendD = FirstDeclMatcher<FriendDecl>().match(ToTU, friendDecl());
4715 auto *FriendD0 = FirstDeclMatcher<FriendDecl>().match(ToTU, friendDecl());
4716 auto *FriendD1 = LastDeclMatcher<FriendDecl>().match(ToTU, friendDecl());
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/MatchVerifier.h 62 const NodeType &Node) {}
150 const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
150 const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
179 class LocationVerifier : public MatchVerifier<NodeType> {
188 const NodeType &Node) override {
203 virtual SourceLocation getLocation(const NodeType &Node) {
216 class RangeVerifier : public MatchVerifier<NodeType> {
228 const NodeType &Node) override {
250 virtual SourceRange getRange(const NodeType &Node) {
tools/clang/unittests/AST/SourceLocationTest.cpp 400 LocationVerifier<FriendDecl> Verifier;
409 RangeVerifier<FriendDecl> Verifier;
418 LocationVerifier<FriendDecl> Verifier;
427 RangeVerifier<FriendDecl> Verifier;
436 LocationVerifier<FriendDecl> Verifier;
445 RangeVerifier<FriendDecl> Verifier;
454 LocationVerifier<FriendDecl> Verifier;
464 RangeVerifier<FriendDecl> Verifier;
474 LocationVerifier<FriendDecl> Verifier;
484 RangeVerifier<FriendDecl> Verifier;
494 LocationVerifier<FriendDecl> Verifier;
505 RangeVerifier<FriendDecl> Verifier;
523 LocationVerifier<FriendDecl> ConstructorVerifier;
527 LocationVerifier<FriendDecl> DestructorVerifier;
541 RangeVerifier<FriendDecl> ConstructorVerifier;
545 RangeVerifier<FriendDecl> DestructorVerifier;
552 LocationVerifier<FriendDecl> Verifier;
562 RangeVerifier<FriendDecl> Verifier;
572 LocationVerifier<FriendDecl> Verifier;
582 RangeVerifier<FriendDecl> Verifier;
592 LocationVerifier<FriendDecl> Verifier;
601 RangeVerifier<FriendDecl> Verifier;
610 RangeVerifier<FriendDecl> Verifier;
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>
utils/unittest/googletest/include/gtest/gtest-printers.h 407 T* p, ::std::ostream* os) {
416 if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {