TemplateArgumentKind
public enum TemplateArgumentKind
Describes the kind of a template argument.
-
Represents an empty template argument, e.g., one that has not been deduced.
Declaration
Swift
case null
-
The template argument is a type, i.e.
std::vector<int>
Declaration
Swift
case type
-
The template argument is a declaration that was provided for a pointer, reference, or pointer to member non-type template parameter.
Declaration
Swift
case declaration
-
The template argument is a null pointer or null pointer to member that was provided for a non-type template parameter.
Declaration
Swift
case nullPtr
-
The template argument is an integral value that was provided for an integral non-type template parameter.
Declaration
Swift
case integral
-
The template argument is a template name that was provided for a
template <template <...>>
parameter.Declaration
Swift
case template
-
The template argument is a pack expansion of a template name that was provided for a
template<template<...>>
parameter.Declaration
Swift
case templateExpansion
-
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). Also used to represent a non-dependent
__uuidof
expression (a Microsoft extension).Declaration
Swift
case expression
-
The template argument is actually a parameter pack.
Declaration
Swift
case pack