class SubstTemplateTemplateParmPackStorage

Declaration

class SubstTemplateTemplateParmPackStorage
    : public UncommonTemplateNameStorage,
      public Node { /* full declaration omitted */ };

Description

A structure for storing an already-substituted template template parameter pack. This kind of template names occurs when the parameter pack has been provided with a template template argument pack in a context where its enclosing pack expansion could not be fully expanded.

Declared at: clang/include/clang/AST/TemplateName.h:135

Inherits from: UncommonTemplateNameStorage, FoldingSetBase::Node

Member Variables

private clang::TemplateTemplateParmDecl* Parameter
private const clang::TemplateArgument* Arguments

Inherited from UncommonTemplateNameStorage:

protected

Method Overview

  • public void Profile(llvm::FoldingSetNodeID & ID, clang::ASTContext & Context)
  • public static void Profile(llvm::FoldingSetNodeID & ID, clang::ASTContext & Context, clang::TemplateTemplateParmDecl * Parameter, const clang::TemplateArgument & ArgPack)
  • public SubstTemplateTemplateParmPackStorage(clang::TemplateTemplateParmDecl * Parameter, unsigned int Size, const clang::TemplateArgument * Arguments)
  • public clang::TemplateArgument getArgumentPack() const
  • public clang::TemplateTemplateParmDecl * getParameterPack() const

Inherited from FoldingSetBase::Node:

Inherited from UncommonTemplateNameStorage:

Methods

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

Declared at: clang/include/clang/AST/TemplateName.h:157

Parameters

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

static void Profile(
    llvm::FoldingSetNodeID& ID,
    clang::ASTContext& Context,
    clang::TemplateTemplateParmDecl* Parameter,
    const clang::TemplateArgument& ArgPack)

Declared at: clang/include/clang/AST/TemplateName.h:159

Parameters

llvm::FoldingSetNodeID& ID
clang::ASTContext& Context
clang::TemplateTemplateParmDecl* Parameter
const clang::TemplateArgument& ArgPack

SubstTemplateTemplateParmPackStorage(
    clang::TemplateTemplateParmDecl* Parameter,
    unsigned int Size,
    const clang::TemplateArgument* Arguments)

Declared at: clang/include/clang/AST/TemplateName.h:142

Parameters

clang::TemplateTemplateParmDecl* Parameter
unsigned int Size
const clang::TemplateArgument* Arguments

clang::TemplateArgument getArgumentPack() const

Description

Retrieve the template template argument pack with which this parameter was substituted.

Declared at: clang/include/clang/AST/TemplateName.h:155

clang::TemplateTemplateParmDecl*
getParameterPack() const

Description

Retrieve the template template parameter pack being substituted.

Declared at: clang/include/clang/AST/TemplateName.h:149