class TemplateArgumentList

Declaration

class TemplateArgumentList : private TrailingObjects { /* full declaration omitted */ };

Description

A template argument list.

Declared at: clang/include/clang/AST/DeclTemplate.h:238

Inherits from: TrailingObjects

Member Variables

private const clang::TemplateArgument* Arguments
The template argument list.
private unsigned int NumArguments
The number of template arguments in this template argument list.

Method Overview

  • public static clang::TemplateArgumentList * CreateCopy(clang::ASTContext & Context, ArrayRef<clang::TemplateArgument> Args)
  • private TemplateArgumentList(ArrayRef<clang::TemplateArgument> Args)
  • public TemplateArgumentList(const clang::TemplateArgumentList &)
  • public TemplateArgumentList(clang::TemplateArgumentList::OnStackType, ArrayRef<clang::TemplateArgument> Args)
  • public TemplateArgumentList(const clang::TemplateArgumentList * Other)
  • public ArrayRef<clang::TemplateArgument> asArray() const
  • public const clang::TemplateArgument * data() const
  • public const clang::TemplateArgument & get(unsigned int Idx) const
  • public unsigned int size() const

Methods

static clang::TemplateArgumentList* CreateCopy(
    clang::ASTContext& Context,
    ArrayRef<clang::TemplateArgument> Args)

Description

Create a new template argument list that copies the given set of template arguments.

Declared at: clang/include/clang/AST/DeclTemplate.h:263

Parameters

clang::ASTContext& Context
ArrayRef<clang::TemplateArgument> Args

TemplateArgumentList(
    ArrayRef<clang::TemplateArgument> Args)

Declared at: clang/include/clang/AST/DeclTemplate.h:249

Parameters

ArrayRef<clang::TemplateArgument> Args

TemplateArgumentList(
    const clang::TemplateArgumentList&)

Declared at: clang/include/clang/AST/DeclTemplate.h:254

Parameters

const clang::TemplateArgumentList&

TemplateArgumentList(
    clang::TemplateArgumentList::OnStackType,
    ArrayRef<clang::TemplateArgument> Args)

Description

Construct a new, temporary template argument list on the stack. The template argument list does not own the template arguments provided.

Declared at: clang/include/clang/AST/DeclTemplate.h:270

Parameters

clang::TemplateArgumentList::OnStackType
ArrayRef<clang::TemplateArgument> Args

TemplateArgumentList(
    const clang::TemplateArgumentList* Other)

Description

Produces a shallow copy of the given template argument list. This operation assumes that the input argument list outlives it. This takes the list as a pointer to avoid looking like a copy constructor, since this really really isn't safe to use that way.

Declared at: clang/include/clang/AST/DeclTemplate.h:279

Parameters

const clang::TemplateArgumentList* Other

ArrayRef<clang::TemplateArgument> asArray() const

Description

Produce this as an array ref.

Declared at: clang/include/clang/AST/DeclTemplate.h:292

const clang::TemplateArgument* data() const

Description

Retrieve a pointer to the template argument list.

Declared at: clang/include/clang/AST/DeclTemplate.h:301

const clang::TemplateArgument& get(
    unsigned int Idx) const

Description

Retrieve the template argument at a given index.

Declared at: clang/include/clang/AST/DeclTemplate.h:283

Parameters

unsigned int Idx

unsigned int size() const

Description

Retrieve the number of template arguments in this template argument list.

Declared at: clang/include/clang/AST/DeclTemplate.h:298