Interface ICPPASTTemplateDeclaration

  • All Superinterfaces:
    IASTDeclaration, IASTNode

    public interface ICPPASTTemplateDeclaration
    extends IASTDeclaration
    Template declaration.
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Field Detail

      • OWNED_DECLARATION

        static final ASTNodeProperty OWNED_DECLARATION
        OWNED_DECLARATION is the subdeclaration that we maintain grammatically.
      • PARAMETER

        static final ASTNodeProperty PARAMETER
        PARAMETER is used for template parameters.
    • Method Detail

      • isExported

        boolean isExported()
        Is the export keyword used?
      • setExported

        void setExported​(boolean value)
        Should the export keyword be used?
      • getDeclaration

        IASTDeclaration getDeclaration()
        Returns the template declaration.
      • setDeclaration

        void setDeclaration​(IASTDeclaration declaration)
        Sets the template declaration.
        Parameters:
        declaration - the declaration to set
      • addTemplateParameter

        void addTemplateParameter​(ICPPASTTemplateParameter paramm)
        Adds a template parameter.
        Parameters:
        paramm - the parameter to add
        Since:
        5.2
      • getScope

        ICPPTemplateScope getScope()
        Returns the template scope representing this declaration in the logical tree.
      • copy

        ICPPASTTemplateDeclaration 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 IASTDeclaration
        Specified by:
        copy in interface IASTNode
        Since:
        5.1
      • copy

        ICPPASTTemplateDeclaration 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 IASTDeclaration
        Specified by:
        copy in interface IASTNode
        Parameters:
        style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
        Since:
        5.3