clang  16.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::SubstTemplateTemplateParmStorage Class Reference

A structure for storing the information associated with a substituted template template parameter. More...

#include "clang/AST/TemplateName.h"

Inheritance diagram for clang::SubstTemplateTemplateParmStorage:
Inheritance graph
[legend]
Collaboration diagram for clang::SubstTemplateTemplateParmStorage:
Collaboration graph
[legend]

Public Member Functions

DeclgetAssociatedDecl () const
 A template-like entity which owns the whole pattern being substituted. More...
 
unsigned getIndex () const
 Returns the index of the replaced parameter in the associated declaration. More...
 
Optional< unsignedgetPackIndex () const
 
TemplateTemplateParmDeclgetParameter () const
 
TemplateName getReplacement () const
 
void Profile (llvm::FoldingSetNodeID &ID)
 
- Public Member Functions inherited from clang::UncommonTemplateNameStorage
OverloadedTemplateStoragegetAsOverloadedStorage ()
 
AssumedTemplateStoragegetAsAssumedTemplateName ()
 
SubstTemplateTemplateParmStoragegetAsSubstTemplateTemplateParm ()
 
SubstTemplateTemplateParmPackStoragegetAsSubstTemplateTemplateParmPack ()
 

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, TemplateName Replacement, Decl *AssociatedDecl, unsigned Index, Optional< unsigned > PackIndex)
 

Friends

class ASTContext
 

Additional Inherited Members

- Protected Types inherited from clang::UncommonTemplateNameStorage
enum  Kind { Overloaded, Assumed, SubstTemplateTemplateParm, SubstTemplateTemplateParmPack }
 
- Protected Member Functions inherited from clang::UncommonTemplateNameStorage
 UncommonTemplateNameStorage (Kind Kind, unsigned Index, unsigned Data)
 
- Protected Attributes inherited from clang::UncommonTemplateNameStorage
union {
   struct BitsTag   Bits
 
   void *   PointerAlignment
 
}; 
 

Detailed Description

A structure for storing the information associated with a substituted template template parameter.

Definition at line 373 of file TemplateName.h.

Member Function Documentation

◆ getAssociatedDecl()

Decl* clang::SubstTemplateTemplateParmStorage::getAssociatedDecl ( ) const
inline

A template-like entity which owns the whole pattern being substituted.

This will own a set of template parameters.

Definition at line 392 of file TemplateName.h.

Referenced by getParameter(), clang::ASTImporter::Import(), and Profile().

◆ getIndex()

unsigned clang::SubstTemplateTemplateParmStorage::getIndex ( ) const
inline

Returns the index of the replaced parameter in the associated declaration.

This should match the result of getParameter()->getIndex().

Definition at line 396 of file TemplateName.h.

References clang::UncommonTemplateNameStorage::Bits, and clang::UncommonTemplateNameStorage::BitsTag::Index.

Referenced by clang::ASTImporter::Import(), and Profile().

◆ getPackIndex()

Optional<unsigned> clang::SubstTemplateTemplateParmStorage::getPackIndex ( ) const
inline

◆ getParameter()

TemplateTemplateParmDecl * SubstTemplateTemplateParmStorage::getParameter ( ) const

◆ getReplacement()

TemplateName clang::SubstTemplateTemplateParmStorage::getReplacement ( ) const
inline

Definition at line 405 of file TemplateName.h.

Referenced by clang::ASTImporter::Import().

◆ Profile() [1/2]

void SubstTemplateTemplateParmStorage::Profile ( llvm::FoldingSetNodeID &  ID)

Definition at line 55 of file TemplateName.cpp.

References getAssociatedDecl(), getIndex(), and getPackIndex().

◆ Profile() [2/2]

void SubstTemplateTemplateParmStorage::Profile ( llvm::FoldingSetNodeID &  ID,
TemplateName  Replacement,
Decl AssociatedDecl,
unsigned  Index,
Optional< unsigned PackIndex 
)
static

Definition at line 59 of file TemplateName.cpp.

Friends And Related Function Documentation

◆ ASTContext

friend class ASTContext
friend

Definition at line 375 of file TemplateName.h.


The documentation for this class was generated from the following files: