class DependentTemplateSpecializationType

Declaration

class DependentTemplateSpecializationType : public TypeWithKeyword,
                                            public Node { /* full declaration omitted */ };

Description

Represents a template specialization type whose template cannot be resolved, e.g. A <T >::template B <T >

Declared at: clang/include/clang/AST/Type.h:5676

Inherits from: TypeWithKeyword, FoldingSetBase::Node

Member Variables

private clang::NestedNameSpecifier* NNS
The nested name specifier containing the qualifier.
private const clang::IdentifierInfo* Name
The identifier of the template.

Inherited from Type:

protected

Method Overview

  • private DependentTemplateSpecializationType(clang::ElaboratedTypeKeyword Keyword, clang::NestedNameSpecifier * NNS, const clang::IdentifierInfo * Name, ArrayRef<clang::TemplateArgument> Args, clang::QualType Canon)
  • public void Profile(llvm::FoldingSetNodeID & ID, const clang::ASTContext & Context)
  • public static void Profile(llvm::FoldingSetNodeID & ID, const clang::ASTContext & Context, clang::ElaboratedTypeKeyword Keyword, clang::NestedNameSpecifier * Qualifier, const clang::IdentifierInfo * Name, ArrayRef<clang::TemplateArgument> Args)
  • public clang::DependentTemplateSpecializationType::iterator begin() const
  • public static bool classof(const clang::Type * T)
  • public clang::QualType desugar() const
  • public clang::DependentTemplateSpecializationType::iterator end() const
  • public const clang::TemplateArgument & getArg(unsigned int Idx) const
  • private const clang::TemplateArgument * getArgBuffer() const
  • private clang::TemplateArgument * getArgBuffer()
  • public const clang::TemplateArgument * getArgs() const
  • public const clang::IdentifierInfo * getIdentifier() const
  • public unsigned int getNumArgs() const
  • public clang::NestedNameSpecifier * getQualifier() const
  • public bool isSugared() const
  • public ArrayRef<clang::TemplateArgument> template_arguments() const

Inherited from FoldingSetBase::Node:

Inherited from TypeWithKeyword:

Inherited from Type:

Inherited from ExtQualsTypeCommonBase:

    Methods

    DependentTemplateSpecializationType(
        clang::ElaboratedTypeKeyword Keyword,
        clang::NestedNameSpecifier* NNS,
        const clang::IdentifierInfo* Name,
        ArrayRef<clang::TemplateArgument> Args,
        clang::QualType Canon)

    Declared at: clang/include/clang/AST/Type.h:5687

    Parameters

    clang::ElaboratedTypeKeyword Keyword
    clang::NestedNameSpecifier* NNS
    const clang::IdentifierInfo* Name
    ArrayRef<clang::TemplateArgument> Args
    clang::QualType Canon

    void Profile(llvm::FoldingSetNodeID& ID,
                 const clang::ASTContext& Context)

    Declared at: clang/include/clang/AST/Type.h:5729

    Parameters

    llvm::FoldingSetNodeID& ID
    const clang::ASTContext& Context

    static void Profile(
        llvm::FoldingSetNodeID& ID,
        const clang::ASTContext& Context,
        clang::ElaboratedTypeKeyword Keyword,
        clang::NestedNameSpecifier* Qualifier,
        const clang::IdentifierInfo* Name,
        ArrayRef<clang::TemplateArgument> Args)

    Declared at: clang/include/clang/AST/Type.h:5733

    Parameters

    llvm::FoldingSetNodeID& ID
    const clang::ASTContext& Context
    clang::ElaboratedTypeKeyword Keyword
    clang::NestedNameSpecifier* Qualifier
    const clang::IdentifierInfo* Name
    ArrayRef<clang::TemplateArgument> Args

    clang::DependentTemplateSpecializationType::
        iterator
        begin() const

    Declared at: clang/include/clang/AST/Type.h:5723

    static bool classof(const clang::Type* T)

    Declared at: clang/include/clang/AST/Type.h:5740

    Parameters

    const clang::Type* T

    clang::QualType desugar() const

    Declared at: clang/include/clang/AST/Type.h:5727

    clang::DependentTemplateSpecializationType::
        iterator
        end() const

    Declared at: clang/include/clang/AST/Type.h:5724

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

    Declared at: clang/include/clang/AST/Type.h:5715

    Parameters

    unsigned int Idx

    const clang::TemplateArgument* getArgBuffer()
        const

    Declared at: clang/include/clang/AST/Type.h:5693

    clang::TemplateArgument* getArgBuffer()

    Declared at: clang/include/clang/AST/Type.h:5697

    const clang::TemplateArgument* getArgs() const

    Description

    Retrieve the template arguments.

    Declared at: clang/include/clang/AST/Type.h:5706

    const clang::IdentifierInfo* getIdentifier() const

    Declared at: clang/include/clang/AST/Type.h:5703

    unsigned int getNumArgs() const

    Description

    Retrieve the number of template arguments.

    Declared at: clang/include/clang/AST/Type.h:5711

    clang::NestedNameSpecifier* getQualifier() const

    Declared at: clang/include/clang/AST/Type.h:5702

    bool isSugared() const

    Declared at: clang/include/clang/AST/Type.h:5726

    ArrayRef<clang::TemplateArgument>
    template_arguments() const

    Declared at: clang/include/clang/AST/Type.h:5717