# Package org.eclipse.cdt.core.model

Interface Summary
IArchive: An IArchive represents a group of files combined into a single file(the Archive), for example 'libXX.a'.
IArchiveContainer: Represents a container of all the IArchive's found in the project while inspecting the project.
IAsmLabel: Represents a label in assembly code.
IAsmLanguage: This is an optional extension interface to `ILanguage` which allows an assembly language variant to expose certain syntax characteristics.
IBinary: Represents a Binary file, for example an ELF executable.
IBinaryContainer: Represents a container of all the IBinary's found in the project while inspecting the project.
IBinaryElement
IBinaryFunction: Represents a function.
IBinaryModule
IBinaryVariable: Represents a global variable.
IBuffer: A buffer contains the text contents of a resource.
IBufferChangedListener: A listener, which gets notified when the contents of a specific buffer have changed, or when the buffer is closed.
ICContainer: A C folder resource.
ICElement: Common protocol for all elements provided by the C model.
ICElementDelta: A C element delta describes changes in C element between two discrete points in time.
ICElementVisitor: This interface is implemented by clients that walk the ICElement tree.
ICLanguageKeywords: This is an optional extension interface to `ILanguage` which allows a C/C++ language variant to expose the set of keywords it defines.
ICModel: Represent the root C element corresponding to the workspace.
ICModelMarker: Markers used by the C model.
ICModelStatus: Represents the outcome of an C model operation.
ICModelStatusConstants: Status codes used with C model status objects.
IContainerEntry
IContributedCElement: Additions to the `ICElement` hierarchy provided by contributed languages.
IContributedModelBuilder: Interface supported by model builders for contributed languages.
IContributedModelBuilder.Factory: A factory to create a model builder for a translation unit.
ICProject: A C project represents a view of a project resource in terms of C elements such as , ICContainer, ITranslationUnit ....
IDeclaration: Base interface for any C Model element that could be considered a declaration.
IElementChangedListener: An element changed listener receives notification of changes to C elements maintained by the C model.
IEnumeration: An Enumeration type.
IEnumerator
IField: Represents a field(variable) declared in an IStructure(struct, class, union).
IFunction: Represents a function definition.
IFunctionDeclaration: Represents a function
IFunctionTemplate: Function template definition.
IFunctionTemplateDeclaration: Function template declaration.
IInclude: Represents an include declaration in a C translation unit.
IIncludeEntry
IIncludeFileEntry
IIncludeReference
IInheritance: Place holder of the inherited class from struct or class(IStructure).
ILanguage: Models differences between languages.
ILanguageDescriptor
ILanguageMappingChangeEvent: Contains the details of changes that occurred as a result of modifying language mappings.
ILanguageMappingChangeListener: Listens to changes in language mappings.
ILibraryEntry
ILibraryReference
IMacro: Represents a field declared in a type.
IMacroEntry
IMacroFileEntry
IMember: Common protocol for C elements that can be members of types.
IMethod: Represents the definition method of a class.
IMethodDeclaration: Represents the declaration method of a class
IMethodTemplate: Member template definition.
IMethodTemplateDeclaration: Member template declaration.
INamespace: Represents a package declaration in a C translation unit.
IOpenable: An openable is an element that can be opened, saved, and closed.
IOutputEntry
IParent: Common protocol for C elements that contain other C elements.
IPathEntry
IPathEntryContainer
IPathEntryContainerExtension
IPragma: Represents a pragma statement.
IPragma.PragmaMarkInfo
IProblemRequestor: A callback interface for receiving problem as they are discovered IProblemRequestor
IProjectEntry
IRegion: A C model region describes a hierarchical set of elements.
ISourceEntry
ISourceManipulation: Common protocol for C elements that support source code manipulations such as copy, move, rename, and delete.
ISourceRange: A source range defines an element's source coordinates
ISourceReference: Common protocol for C elements that have associated source code.
ISourceRoot
IStructure: Represent struct(ure), class or union.
IStructureDeclaration
IStructureTemplate: Class template definition.
IStructureTemplateDeclaration: Class template declaration.
ITemplate: The interface is used to model, class or function templates and their partial or explicit specializations.
ITranslationUnit: Represents an entire C translation unit (`.c` source file).
ITranslationUnitHolder: Represents a workbench object that is able to provide instances of ITranslationUnit.
ITypeDef: Represents a field declared in a type.
IUsing: Represents a "using" declaration in C translation unit.
IVariable: Represents a global variable.
IVariableDeclaration: Represents the declaration of a variable.
IWorkingCopy: A working copy of a C element acts just like a regular element (handle), except it is not attached to an underlying resource.
IWorkingCopyProvider: Defines a simple interface in order to provide a level of abstraction between the Core and UI code.

Class Summary
AbstractLanguage: Models the differences between various languages.
AssemblyLanguage: Built-in language for assembly files.
BinaryFilePresentation: Allows to configure the presentation of binaries.
BufferChangedEvent: A buffer changed event describes how a buffer has changed.
CoreModel
CoreModelUtil
ElementChangedEvent: An element changed event describes a change to the structure or contents of a tree of C elements.
Flags: Utility class for decoding modifier flags in C elements.
LanguageManager
LanguageMappingChangeEvent: A minimal implementation of ILanguageMappingsChangeEvent.
PathEntryContainerChanged
PathEntryContainerInitializer

Exception Summary
CModelException: A checked exception representing a failure in the C model.