Interface ICPPASTTemplatedTypeTemplateParameter

All Superinterfaces:
IASTNameOwner, IASTNode, ICPPASTTemplateParameter

public interface ICPPASTTemplatedTypeTemplateParameter extends ICPPASTTemplateParameter, IASTNameOwner
This is a template template parameter as V in template<template<typename T> class V> class CT;
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • PARAMETER

      static final ASTNodeProperty PARAMETER
      Relation between template template parameter and its (nested) template parameters.
    • PARAMETER_NAME

      static final ASTNodeProperty PARAMETER_NAME
      Relation between template template parameter and its name.
    • DEFAULT_VALUE

      static final ASTNodeProperty DEFAULT_VALUE
      Relation between template template parameter and its default value.
    • tt_class

      static final int tt_class
      tt_class represents a class.
      Since:
      6.6
      See Also:
    • tt_typename

      static final int tt_typename
      tt_typename represents a typename.
      Since:
      6.6
      See Also:
  • Method Details

    • getTemplateParameters

      ICPPASTTemplateParameter[] getTemplateParameters()
      Get the nested template parameters.
    • getParameterType

      int getParameterType()
      Get the type of the template-template parameter (either tt_class or tt_typename).
      Since:
      6.6
    • getName

      IASTName getName()
      Get the (optional) name of this template template parameter. In case there is no name an empty name is returned.
    • getDefaultValue

      IASTExpression getDefaultValue()
      Get default value for template template parameter or null.
    • copy

      Description copied from interface: IASTNode
      Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
       copy.getParent() == null
       copy.getPropertyInParent() == null
       copy.isFrozen() == false
       
      Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

      Calling this method is equivalent to copy(CopyStyle.withoutLocations).

      Specified by:
      copy in interface IASTNode
      Specified by:
      copy in interface ICPPASTTemplateParameter
      Since:
      5.1
    • copy

      Description copied from interface: IASTNode
      Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
       copy.getParent() == null
       copy.getPropertyInParent() == null
       copy.isFrozen() == false
       
      Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
      Specified by:
      copy in interface IASTNode
      Specified by:
      copy in interface ICPPASTTemplateParameter
      Parameters:
      style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
      Since:
      5.3
    • addTemplateParameter

      void addTemplateParameter(ICPPASTTemplateParameter parm)
      Add a nested template parameter.
      Since:
      5.3
    • setIsParameterPack

      void setIsParameterPack(boolean val)
      Set whether this template template parameter is a parameter pack.
      Since:
      5.2
    • setParameterType

      void setParameterType(int type)
      Set the type of the template-template parameter.
      Parameters:
      type - The type of the template-template parameter (either tt_class or tt_typename)
      Since:
      6.6
    • setName

      void setName(IASTName name)
      Set the name of this template template parameter.
    • setDefaultValue

      void setDefaultValue(IASTExpression expression)
      Set default value for the template template parameter.
    • asScope

      ICPPScope asScope()
      Returns the scope that contains the template parameters of this template-template parameter.
      Since:
      5.4
    • addTemplateParamter

      @Deprecated void addTemplateParamter(ICPPASTTemplateParameter parm)
      Restriction:
      This method is not intended to be referenced by clients.