class UnresolvedUsingTypenameDecl

Declaration

class UnresolvedUsingTypenameDecl : public TypeDecl, public Mergeable { /* full declaration omitted */ };

Description

Represents a dependent using declaration which was marked with\c typename. The type associated with an unresolved using typename decl is currently always a typename type.

Declared at: clang/include/clang/AST/DeclCXX.h:3842

Inherits from: TypeDecl, Mergeable

Member Variables

private clang::SourceLocation TypenameLocation
The source location of the 'typename' keyword
private clang::SourceLocation EllipsisLoc
If this is a pack expansion, the location of the '...'.
private clang::NestedNameSpecifierLoc QualifierLoc
The nested-name-specifier that precedes the name.

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

  • public static clang::UnresolvedUsingTypenameDecl * Create(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation UsingLoc, clang::SourceLocation TypenameLoc, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TargetNameLoc, clang::DeclarationName TargetName, clang::SourceLocation EllipsisLoc)
  • public static clang::UnresolvedUsingTypenameDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
  • private UnresolvedUsingTypenameDecl(clang::DeclContext * DC, clang::SourceLocation UsingLoc, clang::SourceLocation TypenameLoc, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TargetNameLoc, clang::IdentifierInfo * TargetName, clang::SourceLocation EllipsisLoc)
  • private void anchor()
  • public static bool classof(const clang::Decl * D)
  • public static bool classofKind(clang::Decl::Kind K)
  • public clang::UnresolvedUsingTypenameDecl * getCanonicalDecl()
  • public const clang::UnresolvedUsingTypenameDecl * getCanonicalDecl() const
  • public clang::SourceLocation getEllipsisLoc() const
  • public clang::DeclarationNameInfo getNameInfo() const
  • public clang::NestedNameSpecifier * getQualifier() const
  • public clang::NestedNameSpecifierLoc getQualifierLoc() const
  • public clang::SourceLocation getTypenameLoc() const
  • public clang::SourceLocation getUsingLoc() const
  • public bool isPackExpansion() const

Inherited from TypeDecl:

Inherited from NamedDecl:

Inherited from Decl:

Methods

static clang::UnresolvedUsingTypenameDecl* Create(
    clang::ASTContext& C,
    clang::DeclContext* DC,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation TypenameLoc,
    clang::NestedNameSpecifierLoc QualifierLoc,
    clang::SourceLocation TargetNameLoc,
    clang::DeclarationName TargetName,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/AST/DeclCXX.h:3900

Parameters

clang::ASTContext& C
clang::DeclContext* DC
clang::SourceLocation UsingLoc
clang::SourceLocation TypenameLoc
clang::NestedNameSpecifierLoc QualifierLoc
clang::SourceLocation TargetNameLoc
clang::DeclarationName TargetName
clang::SourceLocation EllipsisLoc

static clang::UnresolvedUsingTypenameDecl*
CreateDeserialized(clang::ASTContext& C,
                   unsigned int ID)

Declared at: clang/include/clang/AST/DeclCXX.h:3906

Parameters

clang::ASTContext& C
unsigned int ID

UnresolvedUsingTypenameDecl(
    clang::DeclContext* DC,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation TypenameLoc,
    clang::NestedNameSpecifierLoc QualifierLoc,
    clang::SourceLocation TargetNameLoc,
    clang::IdentifierInfo* TargetName,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/AST/DeclCXX.h:3856

Parameters

clang::DeclContext* DC
clang::SourceLocation UsingLoc
clang::SourceLocation TypenameLoc
clang::NestedNameSpecifierLoc QualifierLoc
clang::SourceLocation TargetNameLoc
clang::IdentifierInfo* TargetName
clang::SourceLocation EllipsisLoc

void anchor()

Declared at: clang/include/clang/AST/DeclCXX.h:3867

static bool classof(const clang::Decl* D)

Declared at: clang/include/clang/AST/DeclCXX.h:3916

Parameters

const clang::Decl* D

static bool classofKind(clang::Decl::Kind K)

Declared at: clang/include/clang/AST/DeclCXX.h:3917

Parameters

clang::Decl::Kind K

clang::UnresolvedUsingTypenameDecl*
getCanonicalDecl()

Description

Retrieves the canonical declaration of this declaration.

Declared at: clang/include/clang/AST/DeclCXX.h:3909

const clang::UnresolvedUsingTypenameDecl*
getCanonicalDecl() const

Declared at: clang/include/clang/AST/DeclCXX.h:3912

clang::SourceLocation getEllipsisLoc() const

Description

Get the location of the ellipsis if this is a pack expansion.

Declared at: clang/include/clang/AST/DeclCXX.h:3895

clang::DeclarationNameInfo getNameInfo() const

Declared at: clang/include/clang/AST/DeclCXX.h:3885

clang::NestedNameSpecifier* getQualifier() const

Description

Retrieve the nested-name-specifier that qualifies the name.

Declared at: clang/include/clang/AST/DeclCXX.h:3881

clang::NestedNameSpecifierLoc getQualifierLoc()
    const

Description

Retrieve the nested-name-specifier that qualifies the name, with source-location information.

Declared at: clang/include/clang/AST/DeclCXX.h:3878

clang::SourceLocation getTypenameLoc() const

Description

Returns the source location of the 'typename' keyword.

Declared at: clang/include/clang/AST/DeclCXX.h:3874

clang::SourceLocation getUsingLoc() const

Description

Returns the source location of the 'using' keyword.

Declared at: clang/include/clang/AST/DeclCXX.h:3871

bool isPackExpansion() const

Description

Determine whether this is a pack expansion.

Declared at: clang/include/clang/AST/DeclCXX.h:3890