|
clang 24.0.0git
|
A structure for storing a pack-index-template-name ([temp.names]). More...
#include "clang/AST/TemplateName.h"
Public Member Functions | |
| TemplateName | getPattern () const |
| Expr * | getIndexExpr () const |
| bool | isFullySubstituted () const |
| ArrayRef< TemplateName > | getExpansions () const |
| TemplateTemplateParmDecl * | getParameterPack () const |
| UnsignedOrNone | getSelectedIndex () const |
| TemplateName | getSelectedTemplate () const |
| bool | expandsToEmptyPack () const |
| TemplateNameDependence | getDependence () const |
| void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context) const |
| Public Member Functions inherited from clang::UncommonTemplateNameStorage | |
| OverloadedTemplateStorage * | getAsOverloadedStorage () |
| AssumedTemplateStorage * | getAsAssumedTemplateName () |
| DeducedTemplateStorage * | getAsDeducedTemplateName () |
| SubstTemplateTemplateParmStorage * | getAsSubstTemplateTemplateParm () |
| SubstTemplateTemplateParmPackStorage * | getAsSubstTemplateTemplateParmPack () |
| PackIndexingTemplateStorage * | getAsPackIndexingTemplate () |
Static Public Member Functions | |
| static void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, TemplateName Pattern, Expr *IndexExpr, bool FullySubstituted, ArrayRef< TemplateName > Expansions) |
Friends | |
| class | ASTContext |
Additional Inherited Members | |
| Protected Types inherited from clang::UncommonTemplateNameStorage | |
| enum | Kind { Overloaded , Assumed , Deduced , SubstTemplateTemplateParm , SubstTemplateTemplateParmPack , PackIndexing } |
| 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 | |
| }; | |
A structure for storing a pack-index-template-name ([temp.names]).
C++29 [temp.names]p1: pack-index-template-name: simple-template-name ... [ constant-expression ]
Definition at line 534 of file TemplateName.h.
|
inline |
Definition at line 570 of file TemplateName.h.
References isFullySubstituted().
| TemplateNameDependence PackIndexingTemplateStorage::getDependence | ( | ) | const |
Definition at line 162 of file TemplateName.cpp.
References getDependence(), getExpansions(), getIndexExpr(), clang::Expr::isInstantiationDependent(), clang::T, and clang::toTemplateNameDependence().
Referenced by getDependence(), and clang::TemplateName::getDependence().
|
inline |
Definition at line 560 of file TemplateName.h.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTContext::getCanonicalTemplateName(), getDependence(), getSelectedTemplate(), clang::ASTImporter::Import(), and Profile().
|
inline |
Definition at line 554 of file TemplateName.h.
Referenced by clang::ODRHash::AddTemplateName(), clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTContext::getCanonicalTemplateName(), getDependence(), getSelectedIndex(), getSelectedTemplate(), clang::ASTImporter::Import(), IsStructurallyEquivalent(), and Profile().
| TemplateTemplateParmDecl * PackIndexingTemplateStorage::getParameterPack | ( | ) | const |
Definition at line 134 of file TemplateName.cpp.
References clang::UncommonTemplateNameStorage::getAsSubstTemplateTemplateParmPack().
|
inline |
Definition at line 552 of file TemplateName.h.
Referenced by clang::ODRHash::AddTemplateName(), clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTContext::getCanonicalTemplateName(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), clang::TemplateName::isConceptName(), and IsStructurallyEquivalent().
| UnsignedOrNone PackIndexingTemplateStorage::getSelectedIndex | ( | ) | const |
Definition at line 142 of file TemplateName.cpp.
References getIndexExpr().
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), and getSelectedTemplate().
| TemplateName PackIndexingTemplateStorage::getSelectedTemplate | ( | ) | const |
Definition at line 153 of file TemplateName.cpp.
References getExpansions(), getIndexExpr(), getSelectedIndex(), isFullySubstituted(), and clang::TemplateName.
|
inline |
Definition at line 556 of file TemplateName.h.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), expandsToEmptyPack(), clang::ASTContext::getCanonicalTemplateName(), getSelectedTemplate(), clang::ASTImporter::Import(), and Profile().
| void PackIndexingTemplateStorage::Profile | ( | llvm::FoldingSetNodeID & | ID, |
| const ASTContext & | Context ) const |
Definition at line 192 of file TemplateName.cpp.
References ASTContext, getExpansions(), getIndexExpr(), isFullySubstituted(), and Profile().
Referenced by clang::ASTContext::getPackIndexingTemplateName(), and Profile().
|
static |
Definition at line 198 of file TemplateName.cpp.
References ASTContext, clang::Stmt::Profile(), and clang::T.
|
friend |
Definition at line 538 of file TemplateName.h.
References ASTContext, and clang::UncommonTemplateNameStorage::Bits.
Referenced by ASTContext, Profile(), and Profile().