class SubstTemplateTypeParmType

Declaration

class SubstTemplateTypeParmType : public Type, public Node { /* full declaration omitted */ };

Description

Represents the result of substituting a type for a template type parameter. Within an instantiated template, all template type parameters have been replaced with these. They are used solely to record that a type was originally written as a template type parameter; therefore they are never canonical.

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

Inherits from: Type, FoldingSetBase::Node

Member Variables

private const clang::TemplateTypeParmType* Replaced

Inherited from Type:

protected

Method Overview

  • public void Profile(llvm::FoldingSetNodeID & ID)
  • public static void Profile(llvm::FoldingSetNodeID & ID, const clang::TemplateTypeParmType * Replaced, clang::QualType Replacement)
  • private SubstTemplateTypeParmType(const clang::TemplateTypeParmType * Param, clang::QualType Canon)
  • public static bool classof(const clang::Type * T)
  • public clang::QualType desugar() const
  • public const clang::TemplateTypeParmType * getReplacedParameter() const
  • public clang::QualType getReplacementType() const
  • public bool isSugared() const

Inherited from FoldingSetBase::Node:

Inherited from Type:

Inherited from ExtQualsTypeCommonBase:

    Methods

    void Profile(llvm::FoldingSetNodeID& ID)

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

    Parameters

    llvm::FoldingSetNodeID& ID

    static void Profile(
        llvm::FoldingSetNodeID& ID,
        const clang::TemplateTypeParmType* Replaced,
        clang::QualType Replacement)

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

    Parameters

    llvm::FoldingSetNodeID& ID
    const clang::TemplateTypeParmType* Replaced
    clang::QualType Replacement

    SubstTemplateTypeParmType(
        const clang::TemplateTypeParmType* Param,
        clang::QualType Canon)

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

    Parameters

    const clang::TemplateTypeParmType* Param
    clang::QualType Canon

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

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

    Parameters

    const clang::Type* T

    clang::QualType desugar() const

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

    const clang::TemplateTypeParmType*
    getReplacedParameter() const

    Description

    Gets the template parameter that was substituted for.

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

    clang::QualType getReplacementType() const

    Description

    Gets the type that was substituted for the template parameter.

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

    bool isSugared() const

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