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

## Interface ICPPASTDeclSpecifier

All Superinterfaces:
  IASTAttributeOwner, IASTDeclSpecifier, IASTNode

All Known Subinterfaces:
  ICPPASTCompositeTypeSpecifier, ICPPASTElaboratedTypeSpecifier, ICPPASTEnumerationSpecifier, ICPPASTNamedTypeSpecifier, ICPPASTSimpleDeclSpecifier, ICPPASTTypeTransformationSpecifier, IGPPASTSimpleDeclSpecifier

    public interface ICPPASTDeclSpecifier
    extends IASTDeclSpecifier

C++ adds additional modifiers and types for decl specifier sequence.

### Nested Class Summary

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

`IASTNode.CopyStyle`

### Field Summary

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

`ALIGNMENT_SPECIFIER, sc_auto, sc_extern, sc_mutable, sc_register, sc_static, sc_typedef, sc_unspecified`

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

`ATTRIBUTE, ATTRIBUTE_SPECIFIER`

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

`EMPTY_NODE_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`ICPPASTDeclSpecifier` `copy()` Returns a mutable copy of the tree rooted at this node.
`ICPPASTDeclSpecifier` `copy(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`boolean` `isConstexpr()` Is this a constexpr
`boolean` `isExplicit()` Is this an explicit constructor?
`boolean` `isFriend()` Is this a friend declaration?
`boolean` `isThreadLocal()` Is this thread_local
`boolean` `isVirtual()` Is this a virtual function?
`void` `setConstexpr(boolean value)` Sets this to be constexpr.
`void` `setExplicit(boolean value)` Sets this to be an explicit constructor.
`void` `setFriend(boolean value)` Sets this to be a friend declaration true/false.
`void` `setThreadLocal(boolean value)` Sets this to be thread_local.
`void` `setVirtual(boolean value)` Sets this declaration to be virtual.

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

`getAlignmentSpecifiers, getStorageClass, isConst, isInline, isRestrict, isVolatile, setAlignmentSpecifiers, setConst, setInline, setRestrict, setStorageClass, setVolatile`

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

`addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiers`

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

### Method Detail

#### isFriend

    boolean isFriend()

Is this a friend declaration?

Returns:
  boolean

#### setFriend

    void setFriend(boolean value)

Sets this to be a friend declaration true/false.

Parameters:
  `value` - the new value

#### isVirtual

    boolean isVirtual()

Is this a virtual function?

Returns:
  boolean

#### setVirtual

    void setVirtual(boolean value)

Sets this declaration to be virtual.

Parameters:
  `value` - the new value

#### isExplicit

    boolean isExplicit()

Is this an explicit constructor?

Returns:
  boolean

#### setExplicit

    void setExplicit(boolean value)

Sets this to be an explicit constructor.

Parameters:
  `value` - the new value

#### isConstexpr

    boolean isConstexpr()

Is this a constexpr

Returns:
  boolean
Since:
  5.4

#### setConstexpr

    void setConstexpr(boolean value)

Sets this to be constexpr.

Parameters:
  `value` - the new value
Since:
  5.4

#### isThreadLocal

    boolean isThreadLocal()

Is this thread_local

Returns:
  boolean
Since:
  5.4

#### setThreadLocal

    void setThreadLocal(boolean value)

Sets this to be thread_local.

Parameters:
  `value` - the new value
Since:
  5.4

#### copy

    ICPPASTDeclSpecifier 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 `IASTDeclSpecifier`
Specified by:
  `copy` in interface `IASTNode`
Since:
  5.1

#### copy

    ICPPASTDeclSpecifier 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 `IASTDeclSpecifier`
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