Package org.eclipse.cdt.core.dom.parser.cpp

# Interface ICPPParserExtensionConfiguration

All Known Implementing Classes:
  `AbstractCPPParserExtensionConfiguration`, `ANSICPPParserExtensionConfiguration`, `GPPParserExtensionConfiguration`, `POPCPPParserExtensionConfiguration`

public interface ICPPParserExtensionConfiguration
C++ parser extension configuration interface.

Since:
  4.0
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html"
  - "http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Extensions.html"
Restriction:
  This interface is not intended to be implemented by clients. Clients can subclass `AbstractCPPParserExtensionConfiguration` instead.
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`allowRestrictPointerOperators()`
Support for GNU extension "Restricting Pointer Aliasing".
`Map<String,IToken.ContextSensitiveTokenType>`
`getAdditionalContextSensitiveKeywords()`
Additional variants of context-sensitive keywords.
`IBuiltinBindingsProvider`
`getBuiltinBindingsProvider()`
Provide additional built-in bindings.
`boolean`
`supportAlignOfUnaryExpression()`
Support for GNU extension "Inquiring on Alignment of Types or Variables".
`boolean`
`supportAttributeSpecifiers()`
See http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html for more information on GCC's Attribute Specifiers.
`boolean`
`supportComplexNumbers()`
Support for GNU extension "Data types for complex numbers".
`boolean`
`supportDeclspecSpecifiers()`
Win32 compiler extensions also supported by GCC on Win32
`boolean`
`supportExtendedSizeofOperator()`
Support additional parameters for the sizeof operator: 'sizeof' '(' typeid ',' expression-list ')'
`boolean`
`supportExtendedTemplateSyntax()`
Support for GNU extension "Extended Syntax for Template Instantiation".
`boolean`
`supportFunctionStyleAssembler()`
Support function style assembler definitions: 'asm' ['volatile'] [return-type] name '(' parameter-list ')' '{' assembler-code '}'
`boolean`
`supportGCCOtherBuiltinSymbols()`
Deprecated.
use `getBuiltinBindingsProvider()` instead.
`boolean`
`supportGCCStyleDesignators()`
Support for GNU extension "Designated Initializers".
`boolean`
`supportKnRC()`
Support for Kernighan and Richie (K&R) C.
`boolean`
`supportLongLongs()`
Support for GNU long long types.
`boolean`
`supportMinAndMaxOperators()`
Deprecated.
use `IScannerExtensionConfiguration.supportMinAndMaxOperators()`, instead.
`boolean`
`supportParameterInfoBlock()`
Skips information in brackets provided at the beginning of a parameter declaration:
void accelerate([proc=marsh] const Speed &data);
`boolean`
`supportRestrictKeyword()`
Deprecated.
configure extra keywords, via `IScannerExtensionConfiguration.getAdditionalKeywords()`
`boolean`
`supportStatementsInExpressions()`
Support for GNU extension "Statements and Declarations in Expressions".
`boolean`
`supportTypeofUnaryExpressions()`
Support for GNU extension "Referring to a Type with typeof".
`boolean`
`supportUserDefinedLiterals()`
Support user-defined literal expressions: (char_expr | string_expr | int_expr | float_expr) ud-suffix

## Method Details

### allowRestrictPointerOperators

boolean allowRestrictPointerOperators()
Support for GNU extension "Restricting Pointer Aliasing".

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html"

### supportExtendedTemplateSyntax

boolean supportExtendedTemplateSyntax()
Support for GNU extension "Extended Syntax for Template Instantiation".

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.html"

### supportComplexNumbers

boolean supportComplexNumbers()
Support for GNU extension "Data types for complex numbers".

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Complex.html#Complex"

### supportLongLongs

boolean supportLongLongs()
Support for GNU long long types.

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Long-Long.html"

### supportStatementsInExpressions

boolean supportStatementsInExpressions()
Support for GNU extension "Statements and Declarations in Expressions".

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html"

### supportTypeofUnaryExpressions

boolean supportTypeofUnaryExpressions()
Support for GNU extension "Referring to a Type with typeof".

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Typeof.html"

### supportAlignOfUnaryExpression

boolean supportAlignOfUnaryExpression()
Support for GNU extension "Inquiring on Alignment of Types or Variables".

Returns:
  `true` if support for the extension should be enabled
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Alignment.html"

### supportKnRC

boolean supportKnRC()
Support for Kernighan and Richie (K&R) C.

Returns:
  `true` if support for K&R C should be enabled

### supportAttributeSpecifiers

boolean supportAttributeSpecifiers()
See http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html for more information on GCC's Attribute Specifiers.

Returns:
  `true` if support for the extension should be enabled

### supportDeclspecSpecifiers

boolean supportDeclspecSpecifiers()
Win32 compiler extensions also supported by GCC on Win32

Returns:
  `true` if support for the extension should be enabled

### getBuiltinBindingsProvider

IBuiltinBindingsProvider getBuiltinBindingsProvider()
Provide additional built-in bindings.

Returns:
  an instance of `IBuiltinBindingsProvider` or `null`

### supportParameterInfoBlock

boolean supportParameterInfoBlock()
Skips information in brackets provided at the beginning of a parameter declaration:
void accelerate([proc=marsh] const Speed &data);

Since:
  5.1

### supportExtendedSizeofOperator

boolean supportExtendedSizeofOperator()
Support additional parameters for the sizeof operator: 'sizeof' '(' typeid ',' expression-list ')'

Since:
  5.1

### supportFunctionStyleAssembler

boolean supportFunctionStyleAssembler()
Support function style assembler definitions: 'asm' ['volatile'] [return-type] name '(' parameter-list ')' '{' assembler-code '}'

Since:
  5.1

### supportUserDefinedLiterals

boolean supportUserDefinedLiterals()
Support user-defined literal expressions: (char_expr | string_expr | int_expr | float_expr) ud-suffix

Since:
  5.11

### getAdditionalContextSensitiveKeywords

Map<String,IToken.ContextSensitiveTokenType> getAdditionalContextSensitiveKeywords()
Additional variants of context-sensitive keywords.

Since:
  5.9

### supportGCCStyleDesignators

boolean supportGCCStyleDesignators()
Support for GNU extension "Designated Initializers".

Returns:
  `true` if support for the extension should be enabled
Since:
  6.0
See Also:
  - "http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html"

### supportGCCOtherBuiltinSymbols

@Deprecated boolean supportGCCOtherBuiltinSymbols()
Deprecated.
use `getBuiltinBindingsProvider()` instead.

Restriction:
  This method is not intended to be referenced by clients.

### supportMinAndMaxOperators

@Deprecated boolean supportMinAndMaxOperators()
Deprecated.
use `IScannerExtensionConfiguration.supportMinAndMaxOperators()`, instead.

Restriction:
  This method is not intended to be referenced by clients.

### supportRestrictKeyword

@Deprecated boolean supportRestrictKeyword()
Deprecated.
configure extra keywords, via `IScannerExtensionConfiguration.getAdditionalKeywords()`

Restriction:
  This method is not intended to be referenced by clients.