Package org.eclipse.cdt.core.model

# Interface IPragma

All Superinterfaces:
  `org.eclipse.core.runtime.IAdaptable`, `ICElement`, `ISourceManipulation`, `ISourceReference`

public interface IPragma extends ICElement, ISourceManipulation, ISourceReference
Represents a pragma statement.

Since:
  7.3
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
Modifier and Type
Interface
Description
`static interface`
`IPragma.PragmaMarkInfo`

## Field Summary

### Fields inherited from interface org.eclipse.cdt.core.model.ICElement

`ASM_LABEL, C_ARCHIVE, C_BINARY, C_CCONTAINER, C_CLASS, C_CLASS_CTOR, C_CLASS_DECLARATION, C_CLASS_DTOR, C_ENUMERATION, C_ENUMERATOR, C_FIELD, C_FUNCTION, C_FUNCTION_DECLARATION, C_INCLUDE, C_MACRO, C_METHOD, C_METHOD_DECLARATION, C_MODEL, C_NAMESPACE, C_PRAGMA, C_PROJECT, C_STORAGE_EXTERN, C_STORAGE_STATIC, C_STRUCT, C_STRUCT_DECLARATION, C_TEMPLATE_CLASS, C_TEMPLATE_CLASS_DECLARATION, C_TEMPLATE_FUNCTION, C_TEMPLATE_FUNCTION_DECLARATION, C_TEMPLATE_METHOD, C_TEMPLATE_METHOD_DECLARATION, C_TEMPLATE_STRUCT, C_TEMPLATE_STRUCT_DECLARATION, C_TEMPLATE_UNION, C_TEMPLATE_UNION_DECLARATION, C_TEMPLATE_VARIABLE, C_TYPEDEF, C_UNION, C_UNION_DECLARATION, C_UNIT, C_UNKNOWN_DECLARATION, C_USING, C_VARIABLE, C_VARIABLE_DECLARATION, C_VARIABLE_LOCAL, C_VCONTAINER, CPP_FRIEND, CPP_PRIVATE, CPP_PROTECTED, CPP_PUBLIC, EMPTY_ARRAY`

## Method Summary

Modifier and Type
Method
Description
`Optional<IPragma.PragmaMarkInfo>`
`getPragmaMarkInfo()`
Returns the PragmaMarkInfo if the pragma represents a `#pragma mark` or similar pragma that should be interpreted as such.
`boolean`
`isPragmaOperator()`
Returns whether this uses the pragma operator syntax, e.g: `_Pragma("once")`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.cdt.core.model.ICElement

`accept, exists, getAncestor, getCModel, getCProject, getElementName, getElementType, getHandleIdentifier, getLocationURI, getParent, getPath, getResource, getUnderlyingResource, isReadOnly, isStructureKnown`

### Methods inherited from interface org.eclipse.cdt.core.model.ISourceManipulation

`copy, delete, move, rename`

### Methods inherited from interface org.eclipse.cdt.core.model.ISourceReference

`getIndex, getSource, getSourceRange, getTranslationUnit, isActive`

## Method Details

### isPragmaOperator

boolean isPragmaOperator()
Returns whether this uses the pragma operator syntax, e.g: `_Pragma("once")`

Since:
  5.2

### getPragmaMarkInfo

Optional<IPragma.PragmaMarkInfo> getPragmaMarkInfo()
Returns the PragmaMarkInfo if the pragma represents a `#pragma mark` or similar pragma that should be interpreted as such.

Returns:
  `Optional` of the `IPragma.PragmaMarkInfo`