Interface ICPPASTTemplateId

All Superinterfaces:
IASTName, IASTNameOwner, IASTNode, ICPPASTName, ICPPASTNameSpecifier, IName

public interface ICPPASTTemplateId extends ICPPASTName, IASTNameOwner
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • TEMPLATE_NAME

      static final ASTNodeProperty TEMPLATE_NAME
      The template name in the template ID.
    • TEMPLATE_ID_ARGUMENT

      static final ASTNodeProperty TEMPLATE_ID_ARGUMENT
      TEMPLATE_ID_ARGUMENT = template id argument.
    • EMPTY_ARG_ARRAY

      @Deprecated static final IASTNode[] EMPTY_ARG_ARRAY
      Deprecated.
      Use IASTNode.EMPTY_NODE_ARRAY instead.
      Restriction:
      This field is not intended to be referenced by clients.
  • Method Details

    • getTemplateName

      IASTName getTemplateName()
      Returns the name of the template.
      Returns:
      IASTName
    • setTemplateName

      void setTemplateName(IASTName name)
      Sets the name of the template.
      Parameters:
      name - IASTName
    • addTemplateArgument

      void addTemplateArgument(IASTTypeId typeId)
      Adds template argument.
      Parameters:
      typeId - IASTTypeId
    • addTemplateArgument

      void addTemplateArgument(IASTExpression expression)
      Adds a template argument.
      Parameters:
      expression - IASTExpression
    • addTemplateArgument

      void addTemplateArgument(ICPPASTAmbiguousTemplateArgument ambiguity)
      Adds an ambiguity node for later resolution.
      Parameters:
      ambiguity -
    • getTemplateArguments

      IASTNode[] getTemplateArguments()
      Returns all template arguments as nodes.
      Returns:
      nodes representing the template arguments
    • 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 IASTName
      Specified by:
      copy in interface IASTNode
      Specified by:
      copy in interface ICPPASTName
      Specified by:
      copy in interface ICPPASTNameSpecifier
      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 IASTName
      Specified by:
      copy in interface IASTNode
      Specified by:
      copy in interface ICPPASTName
      Specified by:
      copy in interface ICPPASTNameSpecifier
      Parameters:
      style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
      Since:
      5.3