class DependentTemplateSpecializationTypeLoc

Declaration

class DependentTemplateSpecializationTypeLoc : public ConcreteTypeLoc { /* full declaration omitted */ };

Description

A metaprogramming base class for TypeLoc classes which correspond to a particular Type subclass. It is accepted for a single TypeLoc class to correspond to multiple Type classes. TypeLocs with non-constant amounts of local data should override getExtraLocalDataSize(); getExtraLocalData() will then point to this extra memory. TypeLocs with an inner type should define QualType getInnerType() const and getInnerTypeLoc() will then point to this inner type's location data. A word about hierarchies: this template is not designed to be derived from multiple times in a hierarchy. It is also not designed to be used for classes where subtypes might provide different amounts of source information. It should be subclassed only at the deepest portion of the hierarchy where all children have identical source information; if that's an abstract type, then further descendents should inherit from InheritingConcreteTypeLoc instead.

Declared at: clang/include/clang/AST/TypeLoc.h:2375

Inherits from: ConcreteTypeLoc

Method Overview

Methods

void copy(
    clang::DependentTemplateSpecializationTypeLoc
        Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2472

Parameters

clang::DependentTemplateSpecializationTypeLoc Loc

clang::TemplateArgumentLocInfo* getArgInfos()
    const

Declared at: clang/include/clang/AST/TypeLoc.h:2489

clang::TemplateArgumentLoc getArgLoc(
    unsigned int i) const

Declared at: clang/include/clang/AST/TypeLoc.h:2457

Parameters

unsigned int i

clang::TemplateArgumentLocInfo getArgLocInfo(
    unsigned int i) const

Declared at: clang/include/clang/AST/TypeLoc.h:2453

Parameters

unsigned int i

clang::SourceLocation getElaboratedKeywordLoc()
    const

Declared at: clang/include/clang/AST/TypeLoc.h:2381

unsigned int getExtraLocalDataAlignment() const

Declared at: clang/include/clang/AST/TypeLoc.h:2484

unsigned int getExtraLocalDataSize() const

Declared at: clang/include/clang/AST/TypeLoc.h:2480

clang::SourceLocation getLAngleLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:2429

clang::SourceRange getLocalSourceRange() const

Declared at: clang/include/clang/AST/TypeLoc.h:2461

unsigned int getNumArgs() const

Declared at: clang/include/clang/AST/TypeLoc.h:2445

clang::NestedNameSpecifierLoc getQualifierLoc()
    const

Declared at: clang/include/clang/AST/TypeLoc.h:2389

clang::SourceLocation getRAngleLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:2437

clang::SourceLocation getTemplateKeywordLoc()
    const

Declared at: clang/include/clang/AST/TypeLoc.h:2413

clang::SourceLocation getTemplateNameLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:2421

void initializeLocal(clang::ASTContext& Context,
                     clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2478

Parameters

clang::ASTContext& Context
clang::SourceLocation Loc

void setArgLocInfo(
    unsigned int i,
    clang::TemplateArgumentLocInfo AI)

Declared at: clang/include/clang/AST/TypeLoc.h:2449

Parameters

unsigned int i
clang::TemplateArgumentLocInfo AI

void setElaboratedKeywordLoc(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2385

Parameters

clang::SourceLocation Loc

void setLAngleLoc(clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2433

Parameters

clang::SourceLocation Loc

void setQualifierLoc(
    clang::NestedNameSpecifierLoc QualifierLoc)

Declared at: clang/include/clang/AST/TypeLoc.h:2397

Parameters

clang::NestedNameSpecifierLoc QualifierLoc

void setRAngleLoc(clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2441

Parameters

clang::SourceLocation Loc

void setTemplateKeywordLoc(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2417

Parameters

clang::SourceLocation Loc

void setTemplateNameLoc(clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:2425

Parameters

clang::SourceLocation Loc