clang API Documentation
Implementation class used to describe either a set of overloaded template names or an already-substituted template template parameter pack. More...
#include <TemplateName.h>


Public Member Functions | |
| unsigned | size () const |
| OverloadedTemplateStorage * | getAsOverloadedStorage () |
| SubstTemplateTemplateParmStorage * | getAsSubstTemplateTemplateParm () |
| SubstTemplateTemplateParmPackStorage * | getAsSubstTemplateTemplateParmPack () |
Protected Types | |
| enum | Kind { Overloaded, SubstTemplateTemplateParm, SubstTemplateTemplateParmPack } |
Protected Member Functions | |
| UncommonTemplateNameStorage (Kind kind, unsigned size) | |
Protected Attributes | |
| union { | |
| struct { | |
| unsigned Kind: 2 | |
| A Kind. | |
| unsigned Size: 30 | |
| The number of stored templates or template arguments, depending on which subclass we have. | |
| } Bits | |
| void * PointerAlignment | |
| }; | |
Implementation class used to describe either a set of overloaded template names or an already-substituted template template parameter pack.
Definition at line 41 of file TemplateName.h.
enum clang::UncommonTemplateNameStorage::Kind [protected] |
Definition at line 43 of file TemplateName.h.
| clang::UncommonTemplateNameStorage::UncommonTemplateNameStorage | ( | Kind | kind, |
| unsigned | size | ||
| ) | [inline, protected] |
Definition at line 62 of file TemplateName.h.
| OverloadedTemplateStorage* clang::UncommonTemplateNameStorage::getAsOverloadedStorage | ( | ) | [inline] |
Definition at line 70 of file TemplateName.h.
References Bits, and Overloaded.
Referenced by clang::TemplateName::getAsOverloadedTemplate(), and clang::TemplateName::getKind().
| SubstTemplateTemplateParmStorage* clang::UncommonTemplateNameStorage::getAsSubstTemplateTemplateParm | ( | ) | [inline] |
Definition at line 76 of file TemplateName.h.
References Bits, and SubstTemplateTemplateParm.
Referenced by clang::TemplateName::getAsSubstTemplateTemplateParm(), and clang::TemplateName::getKind().
| SubstTemplateTemplateParmPackStorage* clang::UncommonTemplateNameStorage::getAsSubstTemplateTemplateParmPack | ( | ) | [inline] |
Definition at line 82 of file TemplateName.h.
References Bits, and SubstTemplateTemplateParmPack.
Referenced by clang::TemplateName::getAsSubstTemplateTemplateParmPack().
| unsigned clang::UncommonTemplateNameStorage::size | ( | ) | const [inline] |
Definition at line 68 of file TemplateName.h.
References Bits.
Referenced by clang::ASTWriter::AddTemplateName(), clang::OverloadedTemplateStorage::end(), and UncommonTemplateNameStorage().
union { ... } [protected] |
| struct { ... } clang::UncommonTemplateNameStorage::Bits |
A Kind.
Definition at line 52 of file TemplateName.h.
Definition at line 59 of file TemplateName.h.
The number of stored templates or template arguments, depending on which subclass we have.
Definition at line 56 of file TemplateName.h.