org.eclipse.cdt.core.dom.ast.cpp

## 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.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`IASTNode.CopyStyle`

### Field Summary

Fields
`static ASTNodeProperty` `DEFAULT_TYPE` Relation between template parameter and its default type.
`static ASTNodeProperty` `PARAMETER_NAME` Relation between template parameter and its name.
`static int` `st_class` `st_class` represents a class.
`static int` `st_typename` `st_typename` represents a typename.

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter

`EMPTY_TEMPLATEPARAMETER_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`EMPTY_NODE_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner

`r_declaration, r_definition, r_reference, r_unclear`

### Method Summary

All Methods Instance Methods Abstract Methods
`ICPPASTSimpleTypeTemplateParameter` `copy()` Returns a mutable copy of the tree rooted at this node.
`ICPPASTSimpleTypeTemplateParameter` `copy(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`IASTTypeId` `getDefaultType()` Returns the default value (a type id) for this template parameter, or `null`.
`IASTName` `getName()` Returns the template parameter name.
`int` `getParameterType()` Get the type of the type parameter (either `st_class` or `st_typename`).
`void` `setDefaultType(IASTTypeId typeId)` Sets the default value (a type id) for this template parameter.
`void` `setIsParameterPack(boolean val)` Set whether this is a parameter pack.
`void` `setName(IASTName name)` Sets the template parameter name.
`void` `setParameterType(int value)` Set the type of the type parameter.

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter

`isParameterPack`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner

`getRoleForName`

### Field Detail

#### 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:
  Constant Field Values

#### st_typename

    static final int st_typename

`st_typename` represents a typename.

See Also:
  Constant Field Values

### Method Detail

#### 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

    ICPPASTSimpleTypeTemplateParameter 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

    ICPPASTSimpleTypeTemplateParameter 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 `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