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