class ParameterPack

Declaration

class ParameterPack : public Node { /* full declaration omitted */ };

Description

An unexpanded parameter pack (either in the expression or type context). If this AST is correct, this node will have a ParameterPackExpansion node above it. This node is created when some <template -args> are found that apply to an <encoding >, and is stored in the TemplateParams table. In order for this to appear in the final AST, it has to referenced via a <template -param> (ie, T_).

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1238

Inherits from: Node

Member Variables

private llvm::itanium_demangle::NodeArray Data

Inherited from Node:

public RHSComponentCache
public ArrayCache
public FunctionCache

Method Overview

  • public ParameterPack(llvm::itanium_demangle::NodeArray Data_)
  • public const llvm::itanium_demangle::Node * getSyntaxNode(llvm::itanium_demangle::OutputBuffer & OB) const
  • public bool hasArraySlow(llvm::itanium_demangle::OutputBuffer & OB) const
  • public bool hasFunctionSlow(llvm::itanium_demangle::OutputBuffer & OB) const
  • public bool hasRHSComponentSlow(llvm::itanium_demangle::OutputBuffer & OB) const
  • private void initializePackExpansion(llvm::itanium_demangle::OutputBuffer & OB) const
  • public template <typename Fn>void match(Fn F) const
  • public void printLeft(llvm::itanium_demangle::OutputBuffer & OB) const
  • public void printRight(llvm::itanium_demangle::OutputBuffer & OB) const

Inherited from Node:

Methods

ParameterPack(
    llvm::itanium_demangle::NodeArray Data_)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1251

Parameters

llvm::itanium_demangle::NodeArray Data_

const llvm::itanium_demangle::Node* getSyntaxNode(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1284

Parameters

llvm::itanium_demangle::OutputBuffer& OB

bool hasArraySlow(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1274

Parameters

llvm::itanium_demangle::OutputBuffer& OB

bool hasFunctionSlow(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1279

Parameters

llvm::itanium_demangle::OutputBuffer& OB

bool hasRHSComponentSlow(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1269

Parameters

llvm::itanium_demangle::OutputBuffer& OB

void initializePackExpansion(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1243

Parameters

llvm::itanium_demangle::OutputBuffer& OB

template <typename Fn>
void match(Fn F) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1267

Templates

Fn

Parameters

Fn F

void printLeft(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1290

Parameters

llvm::itanium_demangle::OutputBuffer& OB

void printRight(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:1296

Parameters

llvm::itanium_demangle::OutputBuffer& OB