clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions
clang::TemplateArgumentList Class Reference

A template argument list. More...

#include <DeclTemplate.h>

List of all members.

Public Types

enum  OnStackType { OnStack }
 Type used to indicate that the template argument list itself is a stack object. It does not own its template arguments. More...

Public Member Functions

 TemplateArgumentList (OnStackType, const TemplateArgument *Args, unsigned NumArgs)
 Construct a new, temporary template argument list on the stack.
 TemplateArgumentList (const TemplateArgumentList *Other)
 Produces a shallow copy of the given template argument list.
const TemplateArgumentget (unsigned Idx) const
 Retrieve the template argument at a given index.
const TemplateArgumentoperator[] (unsigned Idx) const
 Retrieve the template argument at a given index.
ArrayRef< TemplateArgumentasArray () const
 Produce this as an array ref.
unsigned size () const
 Retrieve the number of template arguments in this template argument list.
const TemplateArgumentdata () const
 Retrieve a pointer to the template argument list.

Static Public Member Functions

static TemplateArgumentListCreateCopy (ASTContext &Context, const TemplateArgument *Args, unsigned NumArgs)
 Create a new template argument list that copies the given set of template arguments.

Detailed Description

A template argument list.

Definition at line 150 of file DeclTemplate.h.


Member Enumeration Documentation

Type used to indicate that the template argument list itself is a stack object. It does not own its template arguments.

Enumerator:
OnStack 

Definition at line 171 of file DeclTemplate.h.


Constructor & Destructor Documentation

clang::TemplateArgumentList::TemplateArgumentList ( OnStackType  ,
const TemplateArgument Args,
unsigned  NumArgs 
) [inline, explicit]

Construct a new, temporary template argument list on the stack.

The template argument list does not own the template arguments provided.

Definition at line 183 of file DeclTemplate.h.

clang::TemplateArgumentList::TemplateArgumentList ( const TemplateArgumentList Other) [inline, explicit]

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.

Definition at line 193 of file DeclTemplate.h.


Member Function Documentation

TemplateArgumentList * TemplateArgumentList::CreateCopy ( ASTContext Context,
const TemplateArgument Args,
unsigned  NumArgs 
) [static]

Retrieve the template argument at a given index.

Definition at line 197 of file DeclTemplate.h.

References data().

Referenced by clang::ASTWriter::AddTemplateArgumentList(), clang::PredefinedExpr::ComputeName(), IsStructurallyEquivalent(), and clang::Sema::SubstituteExplicitTemplateArguments().

const TemplateArgument& clang::TemplateArgumentList::operator[] ( unsigned  Idx) const [inline]

Retrieve the template argument at a given index.

Definition at line 203 of file DeclTemplate.h.


The documentation for this class was generated from the following files: