clang 22.0.0git
clang::ASTTemplateKWAndArgsInfo Struct Reference

Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". More...

#include "clang/AST/TemplateBase.h"

Public Member Functions

void initializeFrom (SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List, TemplateArgumentLoc *OutArgArray)
void initializeFrom (SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List, TemplateArgumentLoc *OutArgArray, TemplateArgumentDependence &Deps)
void initializeFrom (SourceLocation TemplateKWLoc)
void copyInto (const TemplateArgumentLoc *ArgArray, TemplateArgumentListInfo &List) const

Public Attributes

SourceLocation LAngleLoc
 The source location of the left angle bracket ('<').
SourceLocation RAngleLoc
 The source location of the right angle bracket ('>').
SourceLocation TemplateKWLoc
 The source location of the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>.
unsigned NumTemplateArgs
 The number of template arguments in TemplateArgs.

Detailed Description

Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>".

It is intended to be used as a trailing object on AST nodes, and as such, doesn't contain the array of TemplateArgumentLoc itself, but expects the containing object to also provide storage for that.

Definition at line 730 of file TemplateBase.h.

Member Function Documentation

◆ copyInto()

◆ initializeFrom() [1/3]

void ASTTemplateKWAndArgsInfo::initializeFrom ( SourceLocation TemplateKWLoc)

Definition at line 792 of file TemplateBase.cpp.

References LAngleLoc, NumTemplateArgs, RAngleLoc, and TemplateKWLoc.

◆ initializeFrom() [2/3]

◆ initializeFrom() [3/3]

void ASTTemplateKWAndArgsInfo::initializeFrom ( SourceLocation TemplateKWLoc,
const TemplateArgumentListInfo & List,
TemplateArgumentLoc * OutArgArray,
TemplateArgumentDependence & Deps )

Member Data Documentation

◆ LAngleLoc

SourceLocation clang::ASTTemplateKWAndArgsInfo::LAngleLoc

The source location of the left angle bracket ('<').

Definition at line 732 of file TemplateBase.h.

Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), copyInto(), clang::OverloadExpr::getLAngleLoc(), initializeFrom(), initializeFrom(), and initializeFrom().

◆ NumTemplateArgs

unsigned clang::ASTTemplateKWAndArgsInfo::NumTemplateArgs

◆ RAngleLoc

SourceLocation clang::ASTTemplateKWAndArgsInfo::RAngleLoc

The source location of the right angle bracket ('>').

Definition at line 735 of file TemplateBase.h.

Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), copyInto(), clang::OverloadExpr::getRAngleLoc(), initializeFrom(), initializeFrom(), and initializeFrom().

◆ TemplateKWLoc

SourceLocation clang::ASTTemplateKWAndArgsInfo::TemplateKWLoc

The source location of the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>.

Will be empty if this expression does not have a template keyword.

Definition at line 741 of file TemplateBase.h.

Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), clang::OverloadExpr::getTemplateKeywordLoc(), initializeFrom(), initializeFrom(), and initializeFrom().


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