enum TemplateArgument::ArgKind
Description
The kind of template argument we're storing.
Declared at: clang/include/clang/AST/TemplateBase.h:64
Enumerators
Name | Value | Comment |
---|---|---|
Null | 0 | Represents an empty template argument, e.g., one that has not been deduced. |
Type | 1 | The template argument is a type. |
Declaration | 2 | The template argument is a declaration that was provided for a pointer, reference, or pointer to member non-type template parameter. |
NullPtr | 3 | The template argument is a null pointer or null pointer to member that was provided for a non-type template parameter. |
Integral | 4 | The template argument is an integral value stored in an llvm::APSInt that was provided for an integral non-type template parameter. |
Template | 5 | The template argument is a template name that was provided for a template template parameter. |
TemplateExpansion | 6 | The template argument is a pack expansion of a template name that was provided for a template template parameter. |
Expression | 7 | The template argument is an expression, and we've not resolved it to one of the other forms yet, either because it's dependent or because we're representing a non-canonical template argument (for instance, in a TemplateSpecializationType). |
Pack | 8 | The template argument is actually a parameter pack. Arguments are stored in the Args struct. |