clang  3.7.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::ASTTemplateArgumentListInfo Struct Reference

Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". This is safe to be used inside an AST node, in contrast with TemplateArgumentListInfo. More...

#include <TemplateBase.h>

Inheritance diagram for clang::ASTTemplateArgumentListInfo:
[legend]
Collaboration diagram for clang::ASTTemplateArgumentListInfo:
[legend]

Public Member Functions

TemplateArgumentLocgetTemplateArgs ()
 Retrieve the template arguments. More...
 
const TemplateArgumentLocgetTemplateArgs () const
 Retrieve the template arguments. More...
 
const TemplateArgumentLocoperator[] (unsigned I) const
 
void initializeFrom (const TemplateArgumentListInfo &List)
 
void initializeFrom (const TemplateArgumentListInfo &List, bool &Dependent, bool &InstantiationDependent, bool &ContainsUnexpandedParameterPack)
 
void copyInto (TemplateArgumentListInfo &List) const
 

Static Public Member Functions

static const
ASTTemplateArgumentListInfo
Create (ASTContext &C, const TemplateArgumentListInfo &List)
 
static std::size_t sizeFor (unsigned NumTemplateArgs)
 

Public Attributes

SourceLocation LAngleLoc
 The source location of the left angle bracket ('<'). More...
 
SourceLocation RAngleLoc
 The source location of the right angle bracket ('>'). More...
 
union {
   unsigned   NumTemplateArgs
 The number of template arguments in TemplateArgs. The actual template arguments (if any) are stored after the ExplicitTemplateArgumentList structure. More...
 
   llvm::AlignedCharArray
< llvm::AlignOf
< TemplateArgumentLoc >
::Alignment, 1 >   Aligner
 
}; 
 

Detailed Description

Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". This is safe to be used inside an AST node, in contrast with TemplateArgumentListInfo.

Definition at line 564 of file TemplateBase.h.

Member Function Documentation

void ASTTemplateArgumentListInfo::copyInto ( TemplateArgumentListInfo List) const
const ASTTemplateArgumentListInfo * ASTTemplateArgumentListInfo::Create ( ASTContext C,
const TemplateArgumentListInfo List 
)
static
TemplateArgumentLoc* clang::ASTTemplateArgumentListInfo::getTemplateArgs ( )
inline
const TemplateArgumentLoc* clang::ASTTemplateArgumentListInfo::getTemplateArgs ( ) const
inline

Retrieve the template arguments.

Definition at line 589 of file TemplateBase.h.

void ASTTemplateArgumentListInfo::initializeFrom ( const TemplateArgumentListInfo List)
void ASTTemplateArgumentListInfo::initializeFrom ( const TemplateArgumentListInfo List,
bool Dependent,
bool InstantiationDependent,
bool ContainsUnexpandedParameterPack 
)
const TemplateArgumentLoc& clang::ASTTemplateArgumentListInfo::operator[] ( unsigned  I) const
inline

Definition at line 593 of file TemplateBase.h.

std::size_t ASTTemplateArgumentListInfo::sizeFor ( unsigned  NumTemplateArgs)
static

Definition at line 575 of file TemplateBase.cpp.

References NumTemplateArgs.

Referenced by Create(), and clang::ASTTemplateKWAndArgsInfo::sizeFor().

Member Data Documentation

union { ... }
llvm::AlignedCharArray< llvm::AlignOf<TemplateArgumentLoc>::Alignment, 1> clang::ASTTemplateArgumentListInfo::Aligner

Force ASTTemplateArgumentListInfo to the right alignment for the following array of TemplateArgumentLocs.

Definition at line 580 of file TemplateBase.h.

SourceLocation clang::ASTTemplateArgumentListInfo::LAngleLoc
unsigned clang::ASTTemplateArgumentListInfo::NumTemplateArgs
SourceLocation clang::ASTTemplateArgumentListInfo::RAngleLoc

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