clang 19.0.0git
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
clang::UncommonTemplateNameStorage Class Reference

Implementation class used to describe either a set of overloaded template names or an already-substituted template template parameter pack. More...

#include "clang/AST/TemplateName.h"

Inheritance diagram for clang::UncommonTemplateNameStorage:
Inheritance graph
[legend]

Classes

struct  BitsTag
 

Public Member Functions

OverloadedTemplateStoragegetAsOverloadedStorage ()
 
AssumedTemplateStoragegetAsAssumedTemplateName ()
 
SubstTemplateTemplateParmStoragegetAsSubstTemplateTemplateParm ()
 
SubstTemplateTemplateParmPackStoragegetAsSubstTemplateTemplateParmPack ()
 

Protected Types

enum  Kind { Overloaded , Assumed , SubstTemplateTemplateParm , SubstTemplateTemplateParmPack }
 

Protected Member Functions

 UncommonTemplateNameStorage (Kind Kind, unsigned Index, unsigned Data)
 

Protected Attributes

union {
   struct BitsTag   Bits
 
   void *   PointerAlignment
 
}; 
 

Detailed Description

Implementation class used to describe either a set of overloaded template names or an already-substituted template template parameter pack.

Definition at line 48 of file TemplateName.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Overloaded 
Assumed 
SubstTemplateTemplateParm 
SubstTemplateTemplateParmPack 

Definition at line 50 of file TemplateName.h.

Constructor & Destructor Documentation

◆ UncommonTemplateNameStorage()

clang::UncommonTemplateNameStorage::UncommonTemplateNameStorage ( Kind  Kind,
unsigned  Index,
unsigned  Data 
)
inlineprotected

Member Function Documentation

◆ getAsAssumedTemplateName()

AssumedTemplateStorage * clang::UncommonTemplateNameStorage::getAsAssumedTemplateName ( )
inline

◆ getAsOverloadedStorage()

OverloadedTemplateStorage * clang::UncommonTemplateNameStorage::getAsOverloadedStorage ( )
inline

◆ getAsSubstTemplateTemplateParm()

SubstTemplateTemplateParmStorage * clang::UncommonTemplateNameStorage::getAsSubstTemplateTemplateParm ( )
inline

◆ getAsSubstTemplateTemplateParmPack()

SubstTemplateTemplateParmPackStorage * clang::UncommonTemplateNameStorage::getAsSubstTemplateTemplateParmPack ( )
inline

Member Data Documentation

◆ 

union { ... } clang::UncommonTemplateNameStorage::@111

◆ Bits

struct BitsTag clang::UncommonTemplateNameStorage::Bits

◆ PointerAlignment

void* clang::UncommonTemplateNameStorage::PointerAlignment

Definition at line 71 of file TemplateName.h.


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