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

All Methods Instance Methods Abstract Methods Deprecated Methods
`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 Detail

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