Interface ICPPASTSimpleTypeTemplateParameter

All Superinterfaces:
IASTNameOwner, IASTNode, ICPPASTTemplateParameter

public interface ICPPASTSimpleTypeTemplateParameter extends ICPPASTTemplateParameter, IASTNameOwner
This interface represents a simple type template parameter.
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_NAME

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

      static final ASTNodeProperty DEFAULT_TYPE
      Relation between template parameter and its default type.
    • st_class

      static final int st_class
      st_class represents a class.
      See Also:
    • st_typename

      static final int st_typename
      st_typename represents a typename.
      See Also:
  • Method Details

    • getParameterType

      int getParameterType()
      Get the type of the type parameter (either st_class or st_typename).
    • getName

      IASTName getName()
      Returns the template parameter name.
    • getDefaultType

      IASTTypeId getDefaultType()
      Returns the default value (a type id) for this template parameter, or null.
    • setParameterType

      void setParameterType(int value)
      Set the type of the type parameter.
      Parameters:
      value - The type of the type parameter (either st_class or st_typename)
    • setIsParameterPack

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

      void setName(IASTName name)
      Sets the template parameter name.
    • setDefaultType

      void setDefaultType(IASTTypeId typeId)
      Sets the default value (a type id) for this template parameter.
    • 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