Package org.eclipse.cdt.core.dom.ast

## Interface IASTTypeIdExpression

All Superinterfaces:
  `IASTExpression`, `IASTInitializerClause`, `IASTNode`

All Known Subinterfaces:
  `ICPPASTTypeIdExpression`, `IGNUASTTypeIdExpression`

    public interface IASTTypeIdExpression
    extends IASTExpression

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

`IASTExpression.ValueCategory`

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

`IASTNode.CopyStyle`

### Field Summary

Fields
`static int` `op_alignof` For gnu-parsers, only.
`static int` `op_has_nothrow_assign` Built-in type trait of g++.
`static int` `op_has_nothrow_constructor` Built-in type trait of g++.
`static int` `op_has_nothrow_copy` Built-in type trait of g++.
`static int` `op_has_trivial_assign` Built-in type trait of g++.
`static int` `op_has_trivial_constructor` Built-in type trait of g++.
`static int` `op_has_trivial_copy` Built-in type trait of g++.
`static int` `op_has_trivial_destructor` Built-in type trait of g++.
`static int` `op_has_virtual_destructor` Built-in type trait of g++.
`static int` `op_is_abstract` Built-in type trait of g++.
`static int` `op_is_class` Built-in type trait of g++.
`static int` `op_is_empty` Built-in type trait of g++.
`static int` `op_is_enum` Built-in type trait of g++.
`static int` `op_is_final` Built-in type trait of g++.
`static int` `op_is_literal_type` Built-in type trait of g++.
`static int` `op_is_pod` Built-in type trait of g++.
`static int` `op_is_polymorphic` Built-in type trait of g++.
`static int` `op_is_standard_layout` Built-in type trait of g++.
`static int` `op_is_trivial` Built-in type trait of g++.
`static int` `op_is_trivially_copyable` Built-in type trait of g++.
`static int` `op_is_union` Built-in type trait of g++.
`static int` `op_sizeof` `op_sizeof` sizeof (typeId) expression
`static int` `op_sizeofParameterPack` `op_sizeofParameterPack` is used for sizeof...
`static int` `op_typeid` For c++, only.
`static int` `op_typeof` For gnu-parsers, only.
`static ASTNodeProperty` `TYPE_ID` `TYPEID` represents the relationship between an `IASTTypeIdExpression` and it's nested `IASTTypeId`.

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

`EMPTY_EXPRESSION_ARRAY`

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

`EMPTY_NODE_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`IASTTypeIdExpression` `copy()` Returns a mutable copy of the tree rooted at this node.
`IASTTypeIdExpression` `copy​(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`int` `getOperator()` Returns the operator for the expression.
`IASTTypeId` `getTypeId()` Get the type Id.
`void` `setOperator​(int value)` Sets the operator for the expression.
`void` `setTypeId​(IASTTypeId typeId)` Set the type Id.

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

`getExpressionType, getValueCategory, isLValue`

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

### Field Detail

#### op_sizeof

    static final int op_sizeof

`op_sizeof` sizeof (typeId) expression

See Also:
  Constant Field Values

#### op_typeid

    static final int op_typeid

For c++, only.

See Also:
  Constant Field Values

#### op_alignof

    static final int op_alignof

For gnu-parsers, only. `op_alignOf` is used for __alignOf( typeId ) type expressions.

See Also:
  Constant Field Values

#### op_typeof

    static final int op_typeof

For gnu-parsers, only. `op_typeof` is used for typeof( typeId ) type expressions.

See Also:
  Constant Field Values

#### op_has_nothrow_assign

    static final int op_has_nothrow_assign

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_nothrow_copy

    static final int op_has_nothrow_copy

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_nothrow_constructor

    static final int op_has_nothrow_constructor

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_trivial_assign

    static final int op_has_trivial_assign

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_trivial_copy

    static final int op_has_trivial_copy

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_trivial_constructor

    static final int op_has_trivial_constructor

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_trivial_destructor

    static final int op_has_trivial_destructor

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_has_virtual_destructor

    static final int op_has_virtual_destructor

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_abstract

    static final int op_is_abstract

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_class

    static final int op_is_class

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_empty

    static final int op_is_empty

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_enum

    static final int op_is_enum

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_pod

    static final int op_is_pod

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_polymorphic

    static final int op_is_polymorphic

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_union

    static final int op_is_union

Built-in type trait of g++.

Since:
  5.3
See Also:
  Constant Field Values

#### op_is_literal_type

    static final int op_is_literal_type

Built-in type trait of g++.

Since:
  5.5
See Also:
  Constant Field Values

#### op_is_standard_layout

    static final int op_is_standard_layout

Built-in type trait of g++.

Since:
  5.5
See Also:
  Constant Field Values

#### op_is_trivial

    static final int op_is_trivial

Built-in type trait of g++.

Since:
  5.5
See Also:
  Constant Field Values

#### op_sizeofParameterPack

    static final int op_sizeofParameterPack

`op_sizeofParameterPack` is used for sizeof... ( typeid ) expressions.

Since:
  5.5
See Also:
  Constant Field Values

#### op_is_final

    static final int op_is_final

Built-in type trait of g++.

Since:
  5.6
See Also:
  Constant Field Values

#### op_is_trivially_copyable

    static final int op_is_trivially_copyable

Built-in type trait of g++.

Since:
  6.0
See Also:
  Constant Field Values

#### TYPE_ID

    static final ASTNodeProperty TYPE_ID

`TYPEID` represents the relationship between an `IASTTypeIdExpression` and it's nested `IASTTypeId`.

### Method Detail

#### getOperator

    int getOperator()

Returns the operator for the expression.

Returns:
  int

#### setOperator

    void setOperator​(int value)

Sets the operator for the expression.

Parameters:
  `value` - int

#### setTypeId

    void setTypeId​(IASTTypeId typeId)

Set the type Id.

Parameters:
  `typeId` -

#### getTypeId

    IASTTypeId getTypeId()

Get the type Id.

#### copy

    IASTTypeIdExpression 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 `IASTExpression`
Specified by:
  `copy` in interface `IASTInitializerClause`
Specified by:
  `copy` in interface `IASTNode`
Since:
  5.1

#### copy

    IASTTypeIdExpression 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 `IASTExpression`
Specified by:
  `copy` in interface `IASTInitializerClause`
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