clang 22.0.0git
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:
[legend]

Classes

struct  BitsTag

Public Member Functions

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

Protected Types

enum  Kind {
  Overloaded , Assumed , Deduced , 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 51 of file TemplateName.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Overloaded 
Assumed 
Deduced 
SubstTemplateTemplateParm 
SubstTemplateTemplateParmPack 

Definition at line 53 of file TemplateName.h.

Constructor & Destructor Documentation

◆ UncommonTemplateNameStorage()

Member Function Documentation

◆ getAsAssumedTemplateName()

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

Definition at line 91 of file TemplateName.h.

References Assumed, and Bits.

Referenced by clang::TemplateName::getAsAssumedTemplateName(), and clang::TemplateName::getKind().

◆ getAsDeducedTemplateName()

DeducedTemplateStorage * clang::UncommonTemplateNameStorage::getAsDeducedTemplateName ( )
inline

◆ getAsOverloadedStorage()

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

Definition at line 85 of file TemplateName.h.

References Bits, and Overloaded.

Referenced by clang::TemplateName::getAsOverloadedTemplate(), and clang::TemplateName::getKind().

◆ getAsSubstTemplateTemplateParm()

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

◆ getAsSubstTemplateTemplateParmPack()

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

Member Data Documentation

◆ [union]

◆ Bits

◆ PointerAlignment

void* clang::UncommonTemplateNameStorage::PointerAlignment

Definition at line 75 of file TemplateName.h.


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