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

## Class GPPParserExtensionConfiguration

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

All Implemented Interfaces:
  `ICPPParserExtensionConfiguration`

Direct Known Subclasses:
  `POPCPPParserExtensionConfiguration`

    public class GPPParserExtensionConfiguration
    extends AbstractCPPParserExtensionConfiguration

Configures the parser for c++-sources as accepted by g++.

### Constructor Summary

Constructors
`GPPParserExtensionConfiguration()`

### Method Summary

All Methods Static 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.
`static GPPParserExtensionConfiguration` `getInstance()`
`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` `supportExtendedTemplateSyntax()` Support for GNU extension "Extended Syntax for Template Instantiation".
`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` `supportRestrictKeyword()`
`boolean` `supportStatementsInExpressions()` Support for GNU extension "Statements and Declarations in Expressions".
`boolean` `supportTypeofUnaryExpressions()` Support for GNU extension "Referring to a Type with typeof".

### Methods inherited from class org.eclipse.cdt.core.dom.parser.cpp.AbstractCPPParserExtensionConfiguration

`supportExtendedSizeofOperator, supportFunctionStyleAssembler, supportGCCOtherBuiltinSymbols, supportParameterInfoBlock, supportUserDefinedLiterals`

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

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

### Constructor Detail

#### GPPParserExtensionConfiguration

    public GPPParserExtensionConfiguration()

### Method Detail

#### getInstance

    public static GPPParserExtensionConfiguration getInstance()

Since:
  5.1

#### allowRestrictPointerOperators

    public boolean allowRestrictPointerOperators()

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

Specified by:
  `allowRestrictPointerOperators` in interface `ICPPParserExtensionConfiguration`
Overrides:
  `allowRestrictPointerOperators` in class `AbstractCPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled
See Also:
  "http://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.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`
Overrides:
  `supportTypeofUnaryExpressions` in class `AbstractCPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled
See Also:
  "http://gcc.gnu.org/onlinedocs/gcc/Typeof.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`
Overrides:
  `supportAlignOfUnaryExpression` in class `AbstractCPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled
See Also:
  "http://gcc.gnu.org/onlinedocs/gcc/Alignment.html"

#### supportExtendedTemplateSyntax

    public boolean supportExtendedTemplateSyntax()

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

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

#### supportMinAndMaxOperators

    public boolean supportMinAndMaxOperators()

Specified by:
  `supportMinAndMaxOperators` in interface `ICPPParserExtensionConfiguration`
Overrides:
  `supportMinAndMaxOperators` in class `AbstractCPPParserExtensionConfiguration`

#### supportStatementsInExpressions

    public boolean supportStatementsInExpressions()

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

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

#### supportComplexNumbers

    public boolean supportComplexNumbers()

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

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

#### supportRestrictKeyword

    public boolean supportRestrictKeyword()

Specified by:
  `supportRestrictKeyword` in interface `ICPPParserExtensionConfiguration`
Overrides:
  `supportRestrictKeyword` in class `AbstractCPPParserExtensionConfiguration`

#### supportLongLongs

    public boolean supportLongLongs()

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

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

#### supportKnRC

    public boolean supportKnRC()

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

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

#### 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`
Overrides:
  `supportAttributeSpecifiers` in class `AbstractCPPParserExtensionConfiguration`
Returns:
  `true` if support for the extension should be enabled

#### supportDeclspecSpecifiers

    public boolean supportDeclspecSpecifiers()

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

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

#### supportGCCStyleDesignators

    public boolean supportGCCStyleDesignators()

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

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

#### getBuiltinBindingsProvider

    public IBuiltinBindingsProvider getBuiltinBindingsProvider()

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

Specified by:
  `getBuiltinBindingsProvider` in interface `ICPPParserExtensionConfiguration`
Overrides:
  `getBuiltinBindingsProvider` in class `AbstractCPPParserExtensionConfiguration`
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`
Overrides:
  `getAdditionalContextSensitiveKeywords` in class `AbstractCPPParserExtensionConfiguration`