Interface ICPPASTTemplateId

    • Field Detail

      • 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 Detail

      • 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

        ICPPASTTemplateId 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

        ICPPASTTemplateId copy​(IASTNode.CopyStyle style)
        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