clang  6.0.0svn
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]
Collaboration diagram for clang::UncommonTemplateNameStorage:
Collaboration graph
[legend]

Classes

struct  BitsTag
 

Public Member Functions

unsigned size () const
 
OverloadedTemplateStoragegetAsOverloadedStorage ()
 
SubstTemplateTemplateParmStoragegetAsSubstTemplateTemplateParm ()
 
SubstTemplateTemplateParmPackStoragegetAsSubstTemplateTemplateParmPack ()
 

Protected Types

enum  Kind { Overloaded, SubstTemplateTemplateParm, SubstTemplateTemplateParmPack }
 

Protected Member Functions

 UncommonTemplateNameStorage (Kind kind, unsigned size)
 

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

Member Enumeration Documentation

◆ Kind

Enumerator
Overloaded 
SubstTemplateTemplateParm 
SubstTemplateTemplateParmPack 

Definition at line 46 of file TemplateName.h.

Constructor & Destructor Documentation

◆ UncommonTemplateNameStorage()

clang::UncommonTemplateNameStorage::UncommonTemplateNameStorage ( Kind  kind,
unsigned  size 
)
inlineprotected

Member Function Documentation

◆ getAsOverloadedStorage()

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

◆ getAsSubstTemplateTemplateParm()

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

◆ getAsSubstTemplateTemplateParmPack()

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

◆ size()

unsigned clang::UncommonTemplateNameStorage::size ( ) const
inline

Member Data Documentation

◆ @91

union { ... }

◆ Bits

struct BitsTag clang::UncommonTemplateNameStorage::Bits

◆ PointerAlignment

void* clang::UncommonTemplateNameStorage::PointerAlignment

Definition at line 63 of file TemplateName.h.


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