clang 22.0.0git
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:
[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.
bool getFinal () const
UnsignedOrNone getPackIndex () const
TemplateTemplateParmDeclgetParameter () const
TemplateName getReplacement () const
void Profile (llvm::FoldingSetNodeID &ID)
Public Member Functions inherited from clang::UncommonTemplateNameStorage
OverloadedTemplateStoragegetAsOverloadedStorage ()
AssumedTemplateStoragegetAsAssumedTemplateName ()
DeducedTemplateStoragegetAsDeducedTemplateName ()
SubstTemplateTemplateParmStoragegetAsSubstTemplateTemplateParm ()
SubstTemplateTemplateParmPackStoragegetAsSubstTemplateTemplateParmPack ()

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, TemplateName Replacement, Decl *AssociatedDecl, unsigned Index, UnsignedOrNone PackIndex, bool Final)

Friends

class ASTContext

Additional Inherited Members

Protected Types inherited from clang::UncommonTemplateNameStorage
enum  Kind {
  Overloaded , Assumed , Deduced , 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 417 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 437 of file TemplateName.h.

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

◆ getFinal()

bool clang::SubstTemplateTemplateParmStorage::getFinal ( ) const
inline

◆ 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 441 of file TemplateName.h.

References clang::UncommonTemplateNameStorage::Bits.

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

◆ getPackIndex()

UnsignedOrNone clang::SubstTemplateTemplateParmStorage::getPackIndex ( ) const
inline

◆ getParameter()

◆ 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,
UnsignedOrNone PackIndex,
bool Final )
static

◆ ASTContext


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