enum TemplateArgument::ArgKind

Description

The kind of template argument we're storing.

Declared at: clang/include/clang/AST/TemplateBase.h:64

Enumerators

NameValueComment
Null0Represents an empty template argument, e.g., one that has not been deduced.
Type1The template argument is a type.
Declaration2The template argument is a declaration that was provided for a pointer, reference, or pointer to member non-type template parameter.
NullPtr3The template argument is a null pointer or null pointer to member that was provided for a non-type template parameter.
Integral4The template argument is an integral value stored in an llvm::APSInt that was provided for an integral non-type template parameter.
Template5The template argument is a template name that was provided for a template template parameter.
TemplateExpansion6The template argument is a pack expansion of a template name that was provided for a template template parameter.
Expression7The 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).
Pack8The template argument is actually a parameter pack. Arguments are stored in the Args struct.