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

## Class AbstractCPPParserExtensionConfiguration

- java.lang.Object
- - org.eclipse.cdt.core.dom.parser.cpp.AbstractCPPParserExtensionConfiguration

All Implemented Interfaces:
  `ICPPParserExtensionConfiguration`

Direct Known Subclasses:
  `ANSICPPParserExtensionConfiguration`, `GPPParserExtensionConfiguration`

    public abstract class AbstractCPPParserExtensionConfiguration
    extends Object
    implements ICPPParserExtensionConfiguration

Abstract C++ parser extension configuration to help model C++ dialects.

Since:
  4.0

### Constructor Summary

Constructors
`AbstractCPPParserExtensionConfiguration()`

### Method Summary

All Methods Instance Methods Concrete 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()`
`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()`
`boolean` `supportParameterInfoBlock()` Skips information in brackets provided at the beginning of a parameter declaration: void accelerate([proc=marsh] const Speed &data);
`boolean` `supportRestrictKeyword()`
`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

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AbstractCPPParserExtensionConfiguration

    public AbstractCPPParserExtensionConfiguration()

### Method Detail

#### allowRestrictPointerOperators

    public boolean allowRestrictPointerOperators()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Restricting Pointer Aliasing".

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

#### supportAlignOfUnaryExpression

    public boolean supportAlignOfUnaryExpression()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Inquiring on Alignment of Types or Variables".

Specified by:
  `supportAlignOfUnaryExpression` in interface `ICPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled
See Also:
  "http://gcc.gnu.org/onlinedocs/gcc/Alignment.html"

#### supportAttributeSpecifiers

    public boolean supportAttributeSpecifiers()

Description copied from interface: `ICPPParserExtensionConfiguration`
See http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html for more information on GCC's Attribute Specifiers.

Specified by:
  `supportAttributeSpecifiers` in interface `ICPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled

#### supportComplexNumbers

    public boolean supportComplexNumbers()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Data types for complex numbers".

Specified by:
  `supportComplexNumbers` in interface `ICPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled
See Also:
  "http://gcc.gnu.org/onlinedocs/gcc/Complex.html#Complex"

#### supportDeclspecSpecifiers

    public boolean supportDeclspecSpecifiers()

Description copied from interface: `ICPPParserExtensionConfiguration`
Win32 compiler extensions also supported by GCC on Win32

Specified by:
  `supportDeclspecSpecifiers` in interface `ICPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled

#### supportExtendedTemplateSyntax

    public boolean supportExtendedTemplateSyntax()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Extended Syntax for Template Instantiation".

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

#### supportGCCOtherBuiltinSymbols

    public boolean supportGCCOtherBuiltinSymbols()

Specified by:
  `supportGCCOtherBuiltinSymbols` in interface `ICPPParserExtensionConfiguration`

#### supportGCCStyleDesignators

    public boolean supportGCCStyleDesignators()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Designated Initializers".

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

#### supportKnRC

    public boolean supportKnRC()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for Kernighan and Richie (K&R) C.

Specified by:
  `supportKnRC` in interface `ICPPParserExtensionConfiguration`
Returns:
  `true` if support for K&R C should be enabled

#### supportLongLongs

    public boolean supportLongLongs()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU long long types.

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

#### supportMinAndMaxOperators

    public boolean supportMinAndMaxOperators()

Specified by:
  `supportMinAndMaxOperators` in interface `ICPPParserExtensionConfiguration`

#### supportRestrictKeyword

    public boolean supportRestrictKeyword()

Specified by:
  `supportRestrictKeyword` in interface `ICPPParserExtensionConfiguration`

#### supportStatementsInExpressions

    public boolean supportStatementsInExpressions()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Statements and Declarations in Expressions".

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

#### supportTypeofUnaryExpressions

    public boolean supportTypeofUnaryExpressions()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support for GNU extension "Referring to a Type with typeof".

Specified by:
  `supportTypeofUnaryExpressions` in interface `ICPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled
See Also:
  "http://gcc.gnu.org/onlinedocs/gcc/Typeof.html"

#### supportParameterInfoBlock

    public boolean supportParameterInfoBlock()

Description copied from interface: `ICPPParserExtensionConfiguration`
Skips information in brackets provided at the beginning of a parameter declaration:
void accelerate([proc=marsh] const Speed &data);

Specified by:
  `supportParameterInfoBlock` in interface `ICPPParserExtensionConfiguration`
Since:
  5.1

#### supportExtendedSizeofOperator

    public boolean supportExtendedSizeofOperator()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support additional parameters for the sizeof operator: 'sizeof' '(' typeid ',' expression-list ')'

Specified by:
  `supportExtendedSizeofOperator` in interface `ICPPParserExtensionConfiguration`
Since:
  5.1

#### supportFunctionStyleAssembler

    public boolean supportFunctionStyleAssembler()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support function style assembler definitions: 'asm' ['volatile'] [return-type] name '(' parameter-list ')' '{' assembler-code '}'

Specified by:
  `supportFunctionStyleAssembler` in interface `ICPPParserExtensionConfiguration`
Since:
  5.1

#### supportUserDefinedLiterals

    public boolean supportUserDefinedLiterals()

Description copied from interface: `ICPPParserExtensionConfiguration`
Support user-defined literal expressions: (char_expr | string_expr | int_expr | float_expr) ud-suffix

Specified by:
  `supportUserDefinedLiterals` in interface `ICPPParserExtensionConfiguration`
Since:
  5.11

#### getBuiltinBindingsProvider

    public IBuiltinBindingsProvider getBuiltinBindingsProvider()

Description copied from interface: `ICPPParserExtensionConfiguration`
Provide additional built-in bindings.

Specified by:
  `getBuiltinBindingsProvider` in interface `ICPPParserExtensionConfiguration`
Returns:
  an instance of `IBuiltinBindingsProvider` or `null`

#### getAdditionalContextSensitiveKeywords

    public Map<String,​IToken.ContextSensitiveTokenType> getAdditionalContextSensitiveKeywords()

Description copied from interface: `ICPPParserExtensionConfiguration`
Additional variants of context-sensitive keywords.

Specified by:
  `getAdditionalContextSensitiveKeywords` in interface `ICPPParserExtensionConfiguration`
Since:
  5.9