class AutoType

Declaration

class AutoType : public DeducedType, public Node { /* full declaration omitted */ };

Description

Represents a C++11 auto or C++14 decltype(auto) type, possibly constrained by a type-constraint.

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

Inherits from: DeducedType, FoldingSetBase::Node

Member Variables

private clang::ConceptDecl* TypeConstraintConcept

Inherited from Type:

protected

Method Overview

  • private AutoType(clang::QualType DeducedAsType, clang::AutoTypeKeyword Keyword, clang::TypeDependence ExtraDependence, clang::QualType Canon, clang::ConceptDecl * CD, ArrayRef<clang::TemplateArgument> TypeConstraintArgs)
  • public void Profile(llvm::FoldingSetNodeID & ID, const clang::ASTContext & Context)
  • public static void Profile(llvm::FoldingSetNodeID & ID, const clang::ASTContext & Context, clang::QualType Deduced, clang::AutoTypeKeyword Keyword, bool IsDependent, clang::ConceptDecl * CD, ArrayRef<clang::TemplateArgument> Arguments)
  • public static bool classof(const clang::Type * T)
  • 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 clang::AutoTypeKeyword getKeyword() const
  • public unsigned int getNumArgs() const
  • public ArrayRef<clang::TemplateArgument> getTypeConstraintArguments() const
  • public clang::ConceptDecl * getTypeConstraintConcept() const
  • public bool isConstrained() const
  • public bool isDecltypeAuto() const
  • public bool isGNUAutoType() const

Inherited from FoldingSetBase::Node:

Inherited from DeducedType:

Inherited from Type:

Inherited from ExtQualsTypeCommonBase:

    Methods

    AutoType(clang::QualType DeducedAsType,
             clang::AutoTypeKeyword Keyword,
             clang::TypeDependence ExtraDependence,
             clang::QualType Canon,
             clang::ConceptDecl* CD,
             ArrayRef<clang::TemplateArgument>
                 TypeConstraintArgs)

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

    Parameters

    clang::QualType DeducedAsType
    clang::AutoTypeKeyword Keyword
    clang::TypeDependence ExtraDependence
    clang::QualType Canon
    clang::ConceptDecl* CD
    ArrayRef<clang::TemplateArgument> TypeConstraintArgs

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

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

    Parameters

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

    static void Profile(
        llvm::FoldingSetNodeID& ID,
        const clang::ASTContext& Context,
        clang::QualType Deduced,
        clang::AutoTypeKeyword Keyword,
        bool IsDependent,
        clang::ConceptDecl* CD,
        ArrayRef<clang::TemplateArgument> Arguments)

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

    Parameters

    llvm::FoldingSetNodeID& ID
    const clang::ASTContext& Context
    clang::QualType Deduced
    clang::AutoTypeKeyword Keyword
    bool IsDependent
    clang::ConceptDecl* CD
    ArrayRef<clang::TemplateArgument> Arguments

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

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

    Parameters

    const clang::Type* T

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

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

    Parameters

    unsigned int Idx

    const clang::TemplateArgument* getArgBuffer()
        const

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

    clang::TemplateArgument* getArgBuffer()

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

    const clang::TemplateArgument* getArgs() const

    Description

    Retrieve the template arguments.

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

    clang::AutoTypeKeyword getKeyword() const

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

    unsigned int getNumArgs() const

    Description

    Retrieve the number of template arguments.

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

    ArrayRef<clang::TemplateArgument>
    getTypeConstraintArguments() const

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

    clang::ConceptDecl* getTypeConstraintConcept()
        const

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

    bool isConstrained() const

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

    bool isDecltypeAuto() const

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

    bool isGNUAutoType() const

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