reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/AST/Decl.h
   61 class FunctionTemplateSpecializationInfo;
tools/lldb/include/lldb/Core/ClangForward.h
   65 class FunctionTemplateSpecializationInfo;

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/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/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 };
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>) {
  345     return sizeof(BaseTy) + ParentType::additionalSizeToAllocImpl(0, Counts...);
tools/clang/include/clang/AST/ASTNodeTraverser.h
  357     if (const auto *FTSI = D->getTemplateSpecializationInfo())
tools/clang/include/clang/AST/Decl.h
 1842                       FunctionTemplateSpecializationInfo *,
 2517   FunctionTemplateSpecializationInfo *getTemplateSpecializationInfo() const;
tools/clang/include/clang/AST/DeclTemplate.h
  457       private llvm::TrailingObjects<FunctionTemplateSpecializationInfo,
  503   static FunctionTemplateSpecializationInfo *
  771             SpecIterator<EntryType, SETraits, DeclType>,
  772             typename llvm::FoldingSetVector<EntryType>::iterator,
  774                 EntryType>::iterator>::iterator_category,
  778         typename llvm::FoldingSetVector<EntryType>::iterator SetIter)
  789   static SpecIterator<EntryType>
  790   makeSpecIterator(llvm::FoldingSetVector<EntryType> &Specs, bool isEnd) {
  950   static DeclType *getDecl(FunctionTemplateSpecializationInfo *I) {
  955   getTemplateArgs(FunctionTemplateSpecializationInfo *I) {
  970     llvm::FoldingSetVector<FunctionTemplateSpecializationInfo> Specializations;
  998   llvm::FoldingSetVector<FunctionTemplateSpecializationInfo> &
 1005   void addSpecialization(FunctionTemplateSpecializationInfo* Info,
 1065   using spec_iterator = SpecIterator<FunctionTemplateSpecializationInfo>;
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1997   if (const FunctionTemplateSpecializationInfo *FTSI =
tools/clang/lib/AST/ASTImporter.cpp
  691   auto *FTSInfo = FromFD->getTemplateSpecializationInfo();
 2917     auto *FTSInfo = FromFD->getTemplateSpecializationInfo();
tools/clang/lib/AST/Decl.cpp
  368                         const FunctionTemplateSpecializationInfo *specInfo) {
  388     const FunctionTemplateSpecializationInfo *specInfo,
  541   if (FunctionTemplateSpecializationInfo *spec
  836     if (FunctionTemplateSpecializationInfo *specInfo
  977     if (FunctionTemplateSpecializationInfo *spec
 1155     if (FunctionTemplateSpecializationInfo *templateInfo
 3452   if (TemplateOrSpecialization.is<FunctionTemplateSpecializationInfo *>())
 3472   if (auto *FTSI = TemplateOrSpecialization
 3473                        .dyn_cast<FunctionTemplateSpecializationInfo *>())
 3582   if (FunctionTemplateSpecializationInfo *Info
 3584             .dyn_cast<FunctionTemplateSpecializationInfo*>()) {
 3590 FunctionTemplateSpecializationInfo *
 3593       .dyn_cast<FunctionTemplateSpecializationInfo *>();
 3598   if (FunctionTemplateSpecializationInfo *Info
 3600             .dyn_cast<FunctionTemplateSpecializationInfo*>()) {
 3608   if (FunctionTemplateSpecializationInfo *Info
 3610             .dyn_cast<FunctionTemplateSpecializationInfo*>()) {
 3632   FunctionTemplateSpecializationInfo *Info =
 3633       FunctionTemplateSpecializationInfo::Create(
 3687   if (FunctionTemplateSpecializationInfo *FTSInfo =
 3689               .dyn_cast<FunctionTemplateSpecializationInfo *>())
 3718   if (FunctionTemplateSpecializationInfo *FTSInfo =
 3720               .dyn_cast<FunctionTemplateSpecializationInfo *>()) {
 3736   if (FunctionTemplateSpecializationInfo *FTSInfo
 3738                                     FunctionTemplateSpecializationInfo*>()) {
 3762   if (FunctionTemplateSpecializationInfo *FTSInfo
 3764                                         FunctionTemplateSpecializationInfo*>())
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);
  249     llvm::FoldingSetVector<EntryType> &Specializations, EntryType *Entry,
  249     llvm::FoldingSetVector<EntryType> &Specializations, EntryType *Entry,
  251   using SETraits = SpecEntryTraits<EntryType>;
  264     EntryType *Existing = Specializations.GetOrInsertNode(Entry);
  306 llvm::FoldingSetVector<FunctionTemplateSpecializationInfo> &
  319       FunctionTemplateSpecializationInfo *Info, void *InsertPos) {
  721 FunctionTemplateSpecializationInfo *FunctionTemplateSpecializationInfo::Create(
  733   return new (Mem) FunctionTemplateSpecializationInfo(
tools/clang/lib/AST/Expr.cpp
  814     FunctionTemplateSpecializationInfo *FSI
tools/clang/lib/AST/Linkage.h
  112                        const FunctionTemplateSpecializationInfo *specInfo,
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  246   FunctionTemplateSpecializationInfo *Info =
tools/clang/lib/Sema/SemaDecl.cpp
 9211       FunctionTemplateSpecializationInfo *Info =
tools/clang/lib/Sema/SemaTemplate.cpp
 8512   FunctionTemplateSpecializationInfo *SpecInfo
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  945     FunctionTemplateSpecializationInfo *FTInfo =
  946         FunctionTemplateSpecializationInfo::Create(
  962       FunctionTemplateSpecializationInfo::Profile(ID, TemplArgs, C);
  965       FunctionTemplateSpecializationInfo *ExistingInfo =
 4299         if (auto *FTSInfo = FD->TemplateOrSpecialization
 4300                     .dyn_cast<FunctionTemplateSpecializationInfo *>())
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  188     typename RedeclarableTemplateDecl::SpecEntryTraits<EntryType>::DeclType *
  189     getSpecializationDecl(EntryType &T) {
  190       return RedeclarableTemplateDecl::SpecEntryTraits<EntryType>::getDecl(&T);
  226       for (auto &Entry : Common->Specializations)
  577     FunctionTemplateSpecializationInfo *
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
   54   if (const auto *SpecializationInfo = Function.getTemplateSpecializationInfo())
tools/clang/tools/extra/clangd/FindSymbols.cpp
  227       if (auto *Info = Func->getTemplateSpecializationInfo()) {
tools/clang/tools/libclang/CXCursor.cpp
 1241   const FunctionTemplateSpecializationInfo* SpecInfo =
 1279   const FunctionTemplateSpecializationInfo* SpecInfo =
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
 1633     { typedef _Tp   type; };