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. |