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 Details

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

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

      ICPPASTTemplateParameter[] getTemplateParameters()
      Returns the template parameters.
    • addTemplateParameter

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

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

      ICPPTemplateScope getScope()
      Returns the template scope representing this declaration in the logical tree.
    • 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

      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