clang 20.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]

Public Member Functions

DeclgetAssociatedDecl () const
 A template-like entity which owns the whole pattern being substituted.
 
unsigned getIndex () const
 Returns the index of the replaced parameter in the associated declaration.
 
std::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, std::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 374 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 393 of file TemplateName.h.

Referenced by clang::TextNodeDumper::dumpBareTemplateName(), 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 397 of file TemplateName.h.

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

◆ getPackIndex()

std::optional< unsigned > clang::SubstTemplateTemplateParmStorage::getPackIndex ( ) const
inline

◆ getParameter()

TemplateTemplateParmDecl * SubstTemplateTemplateParmStorage::getParameter ( ) const

◆ getReplacement()

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

◆ Profile() [1/2]

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

◆ Profile() [2/2]

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

Definition at line 60 of file TemplateName.cpp.

Friends And Related Function Documentation

◆ ASTContext

friend class ASTContext
friend

Definition at line 376 of file TemplateName.h.


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