clang 20.0.0git
Classes | Macros | Typedefs | Enumerations | Functions
Index.h File Reference
#include "clang-c/BuildSystem.h"
#include "clang-c/CXDiagnostic.h"
#include "clang-c/CXErrorCode.h"
#include "clang-c/CXFile.h"
#include "clang-c/CXSourceLocation.h"
#include "clang-c/CXString.h"
#include "clang-c/ExternC.h"
#include "clang-c/Platform.h"

Go to the source code of this file.

Classes

struct  CXUnsavedFile
 Provides the contents of a file that has not yet been saved to disk. More...
 
struct  CXVersion
 Describes a version number of the form major.minor.subminor. More...
 
struct  CXIndexOptions
 Index initialization options. More...
 
struct  CXTUResourceUsageEntry
 
struct  CXTUResourceUsage
 The memory usage of a CXTranslationUnit, broken into categories. More...
 
struct  CXCursor
 A cursor representing some element in the abstract syntax tree for a translation unit. More...
 
struct  CXPlatformAvailability
 Describes the availability of a given entity on a particular platform, e.g., a particular class might only be available on Mac OS 10.7 or newer. More...
 
struct  CXType
 The type of an element in the abstract syntax tree. More...
 
struct  CXToken
 Describes a single preprocessing token. More...
 
struct  CXCompletionResult
 A single result of code completion. More...
 
struct  CXCodeCompleteResults
 Contains the results of code-completion. More...
 
struct  CXCursorAndRangeVisitor
 
struct  CXIdxLoc
 Source location passed to index callbacks. More...
 
struct  CXIdxIncludedFileInfo
 Data for ppIncludedFile callback. More...
 
struct  CXIdxImportedASTFileInfo
 Data for IndexerCallbacks::importedASTFile. More...
 
struct  CXIdxAttrInfo
 
struct  CXIdxEntityInfo
 
struct  CXIdxContainerInfo
 
struct  CXIdxIBOutletCollectionAttrInfo
 
struct  CXIdxDeclInfo
 
struct  CXIdxObjCContainerDeclInfo
 
struct  CXIdxBaseClassInfo
 
struct  CXIdxObjCProtocolRefInfo
 
struct  CXIdxObjCProtocolRefListInfo
 
struct  CXIdxObjCInterfaceDeclInfo
 
struct  CXIdxObjCCategoryDeclInfo
 
struct  CXIdxObjCPropertyDeclInfo
 
struct  CXIdxCXXClassDeclInfo
 
struct  CXIdxEntityRefInfo
 Data for IndexerCallbacks::indexEntityReference. More...
 
struct  IndexerCallbacks
 A group of callbacks used by clang_indexSourceFile and clang_indexTranslationUnit. More...
 

Macros

#define CINDEX_VERSION_MAJOR   0
 The version constants for the libclang API.
 
#define CINDEX_VERSION_MINOR   64
 
#define CINDEX_VERSION_ENCODE(major, minor)   (((major)*10000) + ((minor)*1))
 
#define CINDEX_VERSION    CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)
 
#define CINDEX_VERSION_STRINGIZE_(major, minor)   #major "." #minor
 
#define CINDEX_VERSION_STRINGIZE(major, minor)    CINDEX_VERSION_STRINGIZE_(major, minor)
 
#define CINDEX_VERSION_STRING    CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)
 
#define __has_feature(feature)   0
 

Typedefs

typedef void * CXIndex
 An "index" that consists of a set of translation units that would typically be linked together into an executable or library.
 
typedef struct CXTargetInfoImpl * CXTargetInfo
 An opaque type representing target information for a given translation unit.
 
typedef struct CXTranslationUnitImpl * CXTranslationUnit
 A single translation unit, which resides in an index.
 
typedef void * CXClientData
 Opaque pointer representing client data that will be passed through to various callbacks and visitors.
 
typedef struct CXVersion CXVersion
 Describes a version number of the form major.minor.subminor.
 
typedef struct CXIndexOptions CXIndexOptions
 Index initialization options.
 
typedef struct CXTUResourceUsageEntry CXTUResourceUsageEntry
 
typedef struct CXTUResourceUsage CXTUResourceUsage
 The memory usage of a CXTranslationUnit, broken into categories.
 
typedef struct CXPlatformAvailability CXPlatformAvailability
 Describes the availability of a given entity on a particular platform, e.g., a particular class might only be available on Mac OS 10.7 or newer.
 
typedef struct CXCursorSetImpl * CXCursorSet
 A fast container representing a set of CXCursors.
 
typedef enum CXChildVisitResult(* CXCursorVisitor) (CXCursor cursor, CXCursor parent, CXClientData client_data)
 Visitor invoked for each cursor found by a traversal.
 
typedef struct _CXChildVisitResult * CXCursorVisitorBlock
 Visitor invoked for each cursor found by a traversal.
 
typedef void * CXPrintingPolicy
 Opaque pointer representing a policy that controls pretty printing for clang_getCursorPrettyPrinted.
 
typedef void * CXModule
 
typedef enum CXTokenKind CXTokenKind
 Describes a kind of token.
 
typedef void * CXCompletionString
 A semantic string that describes a code-completion result.
 
typedef void(* CXInclusionVisitor) (CXFile included_file, CXSourceLocation *inclusion_stack, unsigned include_len, CXClientData client_data)
 Visitor invoked for each file in a translation unit (used with clang_getInclusions()).
 
typedef void * CXEvalResult
 Evaluation result of a cursor.
 
typedef void * CXRemapping
 A remapping of original source files and their translated files.
 
typedef struct CXCursorAndRangeVisitor CXCursorAndRangeVisitor
 
typedef struct _CXCursorAndRangeVisitorBlock * CXCursorAndRangeVisitorBlock
 
typedef void * CXIdxClientFile
 The client's data object that is associated with a CXFile.
 
typedef void * CXIdxClientEntity
 The client's data object that is associated with a semantic entity.
 
typedef void * CXIdxClientContainer
 The client's data object that is associated with a semantic container of entities.
 
typedef void * CXIdxClientASTFile
 The client's data object that is associated with an AST file (PCH or module).
 
typedef void * CXIndexAction
 An indexing action/session, to be applied to one or multiple translation units.
 
typedef enum CXVisitorResult(* CXFieldVisitor) (CXCursor C, CXClientData client_data)
 Visitor invoked for each field found by a traversal.
 

Enumerations

enum  CXAvailabilityKind { CXAvailability_Available , CXAvailability_Deprecated , CXAvailability_NotAvailable , CXAvailability_NotAccessible }
 Describes the availability of a particular entity, which indicates whether the use of this entity will result in a warning or error due to it being deprecated or unavailable. More...
 
enum  CXCursor_ExceptionSpecificationKind {
  CXCursor_ExceptionSpecificationKind_None , CXCursor_ExceptionSpecificationKind_DynamicNone , CXCursor_ExceptionSpecificationKind_Dynamic , CXCursor_ExceptionSpecificationKind_MSAny ,
  CXCursor_ExceptionSpecificationKind_BasicNoexcept , CXCursor_ExceptionSpecificationKind_ComputedNoexcept , CXCursor_ExceptionSpecificationKind_Unevaluated , CXCursor_ExceptionSpecificationKind_Uninstantiated ,
  CXCursor_ExceptionSpecificationKind_Unparsed , CXCursor_ExceptionSpecificationKind_NoThrow
}
 Describes the exception specification of a cursor. More...
 
enum  CXChoice { CXChoice_Default = 0 , CXChoice_Enabled = 1 , CXChoice_Disabled = 2 }
 
enum  CXGlobalOptFlags { CXGlobalOpt_None = 0x0 , CXGlobalOpt_ThreadBackgroundPriorityForIndexing = 0x1 , CXGlobalOpt_ThreadBackgroundPriorityForEditing = 0x2 , CXGlobalOpt_ThreadBackgroundPriorityForAll }
 
enum  CXTranslationUnit_Flags {
  CXTranslationUnit_None = 0x0 , CXTranslationUnit_DetailedPreprocessingRecord = 0x01 , CXTranslationUnit_Incomplete = 0x02 , CXTranslationUnit_PrecompiledPreamble = 0x04 ,
  CXTranslationUnit_CacheCompletionResults = 0x08 , CXTranslationUnit_ForSerialization = 0x10 , CXTranslationUnit_CXXChainedPCH = 0x20 , CXTranslationUnit_SkipFunctionBodies = 0x40 ,
  CXTranslationUnit_IncludeBriefCommentsInCodeCompletion = 0x80 , CXTranslationUnit_CreatePreambleOnFirstParse = 0x100 , CXTranslationUnit_KeepGoing = 0x200 , CXTranslationUnit_SingleFileParse = 0x400 ,
  CXTranslationUnit_LimitSkipFunctionBodiesToPreamble = 0x800 , CXTranslationUnit_IncludeAttributedTypes = 0x1000 , CXTranslationUnit_VisitImplicitAttributes = 0x2000 , CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000 ,
  CXTranslationUnit_RetainExcludedConditionalBlocks = 0x8000
}
 Flags that control the creation of translation units. More...
 
enum  CXSaveTranslationUnit_Flags { CXSaveTranslationUnit_None = 0x0 }
 Flags that control how translation units are saved. More...
 
enum  CXSaveError { CXSaveError_None = 0 , CXSaveError_Unknown = 1 , CXSaveError_TranslationErrors = 2 , CXSaveError_InvalidTU = 3 }
 Describes the kind of error that occurred (if any) in a call to clang_saveTranslationUnit(). More...
 
enum  CXReparse_Flags { CXReparse_None = 0x0 }
 Flags that control the reparsing of translation units. More...
 
enum  CXTUResourceUsageKind {
  CXTUResourceUsage_AST = 1 , CXTUResourceUsage_Identifiers = 2 , CXTUResourceUsage_Selectors = 3 , CXTUResourceUsage_GlobalCompletionResults = 4 ,
  CXTUResourceUsage_SourceManagerContentCache = 5 , CXTUResourceUsage_AST_SideTables = 6 , CXTUResourceUsage_SourceManager_Membuffer_Malloc = 7 , CXTUResourceUsage_SourceManager_Membuffer_MMap = 8 ,
  CXTUResourceUsage_ExternalASTSource_Membuffer_Malloc = 9 , CXTUResourceUsage_ExternalASTSource_Membuffer_MMap = 10 , CXTUResourceUsage_Preprocessor = 11 , CXTUResourceUsage_PreprocessingRecord = 12 ,
  CXTUResourceUsage_SourceManager_DataStructures = 13 , CXTUResourceUsage_Preprocessor_HeaderSearch = 14 , CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN = CXTUResourceUsage_AST , CXTUResourceUsage_MEMORY_IN_BYTES_END ,
  CXTUResourceUsage_First = CXTUResourceUsage_AST , CXTUResourceUsage_Last = CXTUResourceUsage_Preprocessor_HeaderSearch
}
 Categorizes how memory is being used by a translation unit. More...
 
enum  CXCursorKind {
  CXCursor_UnexposedDecl = 1 , CXCursor_StructDecl = 2 , CXCursor_UnionDecl = 3 , CXCursor_ClassDecl = 4 ,
  CXCursor_EnumDecl = 5 , CXCursor_FieldDecl = 6 , CXCursor_EnumConstantDecl = 7 , CXCursor_FunctionDecl = 8 ,
  CXCursor_VarDecl = 9 , CXCursor_ParmDecl = 10 , CXCursor_ObjCInterfaceDecl = 11 , CXCursor_ObjCCategoryDecl = 12 ,
  CXCursor_ObjCProtocolDecl = 13 , CXCursor_ObjCPropertyDecl = 14 , CXCursor_ObjCIvarDecl = 15 , CXCursor_ObjCInstanceMethodDecl = 16 ,
  CXCursor_ObjCClassMethodDecl = 17 , CXCursor_ObjCImplementationDecl = 18 , CXCursor_ObjCCategoryImplDecl = 19 , CXCursor_TypedefDecl = 20 ,
  CXCursor_CXXMethod = 21 , CXCursor_Namespace = 22 , CXCursor_LinkageSpec = 23 , CXCursor_Constructor = 24 ,
  CXCursor_Destructor = 25 , CXCursor_ConversionFunction = 26 , CXCursor_TemplateTypeParameter = 27 , CXCursor_NonTypeTemplateParameter = 28 ,
  CXCursor_TemplateTemplateParameter = 29 , CXCursor_FunctionTemplate = 30 , CXCursor_ClassTemplate = 31 , CXCursor_ClassTemplatePartialSpecialization = 32 ,
  CXCursor_NamespaceAlias = 33 , CXCursor_UsingDirective = 34 , CXCursor_UsingDeclaration = 35 , CXCursor_TypeAliasDecl = 36 ,
  CXCursor_ObjCSynthesizeDecl = 37 , CXCursor_ObjCDynamicDecl = 38 , CXCursor_CXXAccessSpecifier = 39 , CXCursor_FirstDecl = CXCursor_UnexposedDecl ,
  CXCursor_LastDecl = CXCursor_CXXAccessSpecifier , CXCursor_FirstRef = 40 , CXCursor_ObjCSuperClassRef = 40 , CXCursor_ObjCProtocolRef = 41 ,
  CXCursor_ObjCClassRef = 42 , CXCursor_TypeRef = 43 , CXCursor_CXXBaseSpecifier = 44 , CXCursor_TemplateRef = 45 ,
  CXCursor_NamespaceRef = 46 , CXCursor_MemberRef = 47 , CXCursor_LabelRef = 48 , CXCursor_OverloadedDeclRef = 49 ,
  CXCursor_VariableRef = 50 , CXCursor_LastRef = CXCursor_VariableRef , CXCursor_FirstInvalid = 70 , CXCursor_InvalidFile = 70 ,
  CXCursor_NoDeclFound = 71 , CXCursor_NotImplemented = 72 , CXCursor_InvalidCode = 73 , CXCursor_LastInvalid = CXCursor_InvalidCode ,
  CXCursor_FirstExpr = 100 , CXCursor_UnexposedExpr = 100 , CXCursor_DeclRefExpr = 101 , CXCursor_MemberRefExpr = 102 ,
  CXCursor_CallExpr = 103 , CXCursor_ObjCMessageExpr = 104 , CXCursor_BlockExpr = 105 , CXCursor_IntegerLiteral = 106 ,
  CXCursor_FloatingLiteral = 107 , CXCursor_ImaginaryLiteral = 108 , CXCursor_StringLiteral = 109 , CXCursor_CharacterLiteral = 110 ,
  CXCursor_ParenExpr = 111 , CXCursor_UnaryOperator = 112 , CXCursor_ArraySubscriptExpr = 113 , CXCursor_BinaryOperator = 114 ,
  CXCursor_CompoundAssignOperator = 115 , CXCursor_ConditionalOperator = 116 , CXCursor_CStyleCastExpr = 117 , CXCursor_CompoundLiteralExpr = 118 ,
  CXCursor_InitListExpr = 119 , CXCursor_AddrLabelExpr = 120 , CXCursor_StmtExpr = 121 , CXCursor_GenericSelectionExpr = 122 ,
  CXCursor_GNUNullExpr = 123 , CXCursor_CXXStaticCastExpr = 124 , CXCursor_CXXDynamicCastExpr = 125 , CXCursor_CXXReinterpretCastExpr = 126 ,
  CXCursor_CXXConstCastExpr = 127 , CXCursor_CXXFunctionalCastExpr = 128 , CXCursor_CXXTypeidExpr = 129 , CXCursor_CXXBoolLiteralExpr = 130 ,
  CXCursor_CXXNullPtrLiteralExpr = 131 , CXCursor_CXXThisExpr = 132 , CXCursor_CXXThrowExpr = 133 , CXCursor_CXXNewExpr = 134 ,
  CXCursor_CXXDeleteExpr = 135 , CXCursor_UnaryExpr = 136 , CXCursor_ObjCStringLiteral = 137 , CXCursor_ObjCEncodeExpr = 138 ,
  CXCursor_ObjCSelectorExpr = 139 , CXCursor_ObjCProtocolExpr = 140 , CXCursor_ObjCBridgedCastExpr = 141 , CXCursor_PackExpansionExpr = 142 ,
  CXCursor_SizeOfPackExpr = 143 , CXCursor_LambdaExpr = 144 , CXCursor_ObjCBoolLiteralExpr = 145 , CXCursor_ObjCSelfExpr = 146 ,
  CXCursor_ArraySectionExpr = 147 , CXCursor_ObjCAvailabilityCheckExpr = 148 , CXCursor_FixedPointLiteral = 149 , CXCursor_OMPArrayShapingExpr = 150 ,
  CXCursor_OMPIteratorExpr = 151 , CXCursor_CXXAddrspaceCastExpr = 152 , CXCursor_ConceptSpecializationExpr = 153 , CXCursor_RequiresExpr = 154 ,
  CXCursor_CXXParenListInitExpr = 155 , CXCursor_PackIndexingExpr = 156 , CXCursor_LastExpr = CXCursor_PackIndexingExpr , CXCursor_FirstStmt = 200 ,
  CXCursor_UnexposedStmt = 200 , CXCursor_LabelStmt = 201 , CXCursor_CompoundStmt = 202 , CXCursor_CaseStmt = 203 ,
  CXCursor_DefaultStmt = 204 , CXCursor_IfStmt = 205 , CXCursor_SwitchStmt = 206 , CXCursor_WhileStmt = 207 ,
  CXCursor_DoStmt = 208 , CXCursor_ForStmt = 209 , CXCursor_GotoStmt = 210 , CXCursor_IndirectGotoStmt = 211 ,
  CXCursor_ContinueStmt = 212 , CXCursor_BreakStmt = 213 , CXCursor_ReturnStmt = 214 , CXCursor_GCCAsmStmt = 215 ,
  CXCursor_AsmStmt = CXCursor_GCCAsmStmt , CXCursor_ObjCAtTryStmt = 216 , CXCursor_ObjCAtCatchStmt = 217 , CXCursor_ObjCAtFinallyStmt = 218 ,
  CXCursor_ObjCAtThrowStmt = 219 , CXCursor_ObjCAtSynchronizedStmt = 220 , CXCursor_ObjCAutoreleasePoolStmt = 221 , CXCursor_ObjCForCollectionStmt = 222 ,
  CXCursor_CXXCatchStmt = 223 , CXCursor_CXXTryStmt = 224 , CXCursor_CXXForRangeStmt = 225 , CXCursor_SEHTryStmt = 226 ,
  CXCursor_SEHExceptStmt = 227 , CXCursor_SEHFinallyStmt = 228 , CXCursor_MSAsmStmt = 229 , CXCursor_NullStmt = 230 ,
  CXCursor_DeclStmt = 231 , CXCursor_OMPParallelDirective = 232 , CXCursor_OMPSimdDirective = 233 , CXCursor_OMPForDirective = 234 ,
  CXCursor_OMPSectionsDirective = 235 , CXCursor_OMPSectionDirective = 236 , CXCursor_OMPSingleDirective = 237 , CXCursor_OMPParallelForDirective = 238 ,
  CXCursor_OMPParallelSectionsDirective = 239 , CXCursor_OMPTaskDirective = 240 , CXCursor_OMPMasterDirective = 241 , CXCursor_OMPCriticalDirective = 242 ,
  CXCursor_OMPTaskyieldDirective = 243 , CXCursor_OMPBarrierDirective = 244 , CXCursor_OMPTaskwaitDirective = 245 , CXCursor_OMPFlushDirective = 246 ,
  CXCursor_SEHLeaveStmt = 247 , CXCursor_OMPOrderedDirective = 248 , CXCursor_OMPAtomicDirective = 249 , CXCursor_OMPForSimdDirective = 250 ,
  CXCursor_OMPParallelForSimdDirective = 251 , CXCursor_OMPTargetDirective = 252 , CXCursor_OMPTeamsDirective = 253 , CXCursor_OMPTaskgroupDirective = 254 ,
  CXCursor_OMPCancellationPointDirective = 255 , CXCursor_OMPCancelDirective = 256 , CXCursor_OMPTargetDataDirective = 257 , CXCursor_OMPTaskLoopDirective = 258 ,
  CXCursor_OMPTaskLoopSimdDirective = 259 , CXCursor_OMPDistributeDirective = 260 , CXCursor_OMPTargetEnterDataDirective = 261 , CXCursor_OMPTargetExitDataDirective = 262 ,
  CXCursor_OMPTargetParallelDirective = 263 , CXCursor_OMPTargetParallelForDirective = 264 , CXCursor_OMPTargetUpdateDirective = 265 , CXCursor_OMPDistributeParallelForDirective = 266 ,
  CXCursor_OMPDistributeParallelForSimdDirective = 267 , CXCursor_OMPDistributeSimdDirective = 268 , CXCursor_OMPTargetParallelForSimdDirective = 269 , CXCursor_OMPTargetSimdDirective = 270 ,
  CXCursor_OMPTeamsDistributeDirective = 271 , CXCursor_OMPTeamsDistributeSimdDirective = 272 , CXCursor_OMPTeamsDistributeParallelForSimdDirective = 273 , CXCursor_OMPTeamsDistributeParallelForDirective = 274 ,
  CXCursor_OMPTargetTeamsDirective = 275 , CXCursor_OMPTargetTeamsDistributeDirective = 276 , CXCursor_OMPTargetTeamsDistributeParallelForDirective = 277 , CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective = 278 ,
  CXCursor_OMPTargetTeamsDistributeSimdDirective = 279 , CXCursor_BuiltinBitCastExpr = 280 , CXCursor_OMPMasterTaskLoopDirective = 281 , CXCursor_OMPParallelMasterTaskLoopDirective = 282 ,
  CXCursor_OMPMasterTaskLoopSimdDirective = 283 , CXCursor_OMPParallelMasterTaskLoopSimdDirective = 284 , CXCursor_OMPParallelMasterDirective = 285 , CXCursor_OMPDepobjDirective = 286 ,
  CXCursor_OMPScanDirective = 287 , CXCursor_OMPTileDirective = 288 , CXCursor_OMPCanonicalLoop = 289 , CXCursor_OMPInteropDirective = 290 ,
  CXCursor_OMPDispatchDirective = 291 , CXCursor_OMPMaskedDirective = 292 , CXCursor_OMPUnrollDirective = 293 , CXCursor_OMPMetaDirective = 294 ,
  CXCursor_OMPGenericLoopDirective = 295 , CXCursor_OMPTeamsGenericLoopDirective = 296 , CXCursor_OMPTargetTeamsGenericLoopDirective = 297 , CXCursor_OMPParallelGenericLoopDirective = 298 ,
  CXCursor_OMPTargetParallelGenericLoopDirective = 299 , CXCursor_OMPParallelMaskedDirective = 300 , CXCursor_OMPMaskedTaskLoopDirective = 301 , CXCursor_OMPMaskedTaskLoopSimdDirective = 302 ,
  CXCursor_OMPParallelMaskedTaskLoopDirective = 303 , CXCursor_OMPParallelMaskedTaskLoopSimdDirective = 304 , CXCursor_OMPErrorDirective = 305 , CXCursor_OMPScopeDirective = 306 ,
  CXCursor_OMPReverseDirective = 307 , CXCursor_OMPInterchangeDirective = 308 , CXCursor_OMPAssumeDirective = 309 , CXCursor_OpenACCComputeConstruct = 320 ,
  CXCursor_OpenACCLoopConstruct = 321 , CXCursor_OpenACCCombinedConstruct = 322 , CXCursor_OpenACCDataConstruct = 323 , CXCursor_OpenACCEnterDataConstruct = 324 ,
  CXCursor_OpenACCExitDataConstruct = 325 , CXCursor_OpenACCHostDataConstruct = 326 , CXCursor_OpenACCWaitConstruct = 327 , CXCursor_OpenACCInitConstruct = 328 ,
  CXCursor_OpenACCShutdownConstruct = 329 , CXCursor_LastStmt = CXCursor_OpenACCShutdownConstruct , CXCursor_TranslationUnit = 350 , CXCursor_FirstAttr = 400 ,
  CXCursor_UnexposedAttr = 400 , CXCursor_IBActionAttr = 401 , CXCursor_IBOutletAttr = 402 , CXCursor_IBOutletCollectionAttr = 403 ,
  CXCursor_CXXFinalAttr = 404 , CXCursor_CXXOverrideAttr = 405 , CXCursor_AnnotateAttr = 406 , CXCursor_AsmLabelAttr = 407 ,
  CXCursor_PackedAttr = 408 , CXCursor_PureAttr = 409 , CXCursor_ConstAttr = 410 , CXCursor_NoDuplicateAttr = 411 ,
  CXCursor_CUDAConstantAttr = 412 , CXCursor_CUDADeviceAttr = 413 , CXCursor_CUDAGlobalAttr = 414 , CXCursor_CUDAHostAttr = 415 ,
  CXCursor_CUDASharedAttr = 416 , CXCursor_VisibilityAttr = 417 , CXCursor_DLLExport = 418 , CXCursor_DLLImport = 419 ,
  CXCursor_NSReturnsRetained = 420 , CXCursor_NSReturnsNotRetained = 421 , CXCursor_NSReturnsAutoreleased = 422 , CXCursor_NSConsumesSelf = 423 ,
  CXCursor_NSConsumed = 424 , CXCursor_ObjCException = 425 , CXCursor_ObjCNSObject = 426 , CXCursor_ObjCIndependentClass = 427 ,
  CXCursor_ObjCPreciseLifetime = 428 , CXCursor_ObjCReturnsInnerPointer = 429 , CXCursor_ObjCRequiresSuper = 430 , CXCursor_ObjCRootClass = 431 ,
  CXCursor_ObjCSubclassingRestricted = 432 , CXCursor_ObjCExplicitProtocolImpl = 433 , CXCursor_ObjCDesignatedInitializer = 434 , CXCursor_ObjCRuntimeVisible = 435 ,
  CXCursor_ObjCBoxable = 436 , CXCursor_FlagEnum = 437 , CXCursor_ConvergentAttr = 438 , CXCursor_WarnUnusedAttr = 439 ,
  CXCursor_WarnUnusedResultAttr = 440 , CXCursor_AlignedAttr = 441 , CXCursor_LastAttr = CXCursor_AlignedAttr , CXCursor_PreprocessingDirective = 500 ,
  CXCursor_MacroDefinition = 501 , CXCursor_MacroExpansion = 502 , CXCursor_MacroInstantiation = CXCursor_MacroExpansion , CXCursor_InclusionDirective = 503 ,
  CXCursor_FirstPreprocessing = CXCursor_PreprocessingDirective , CXCursor_LastPreprocessing = CXCursor_InclusionDirective , CXCursor_ModuleImportDecl = 600 , CXCursor_TypeAliasTemplateDecl = 601 ,
  CXCursor_StaticAssert = 602 , CXCursor_FriendDecl = 603 , CXCursor_ConceptDecl = 604 , CXCursor_FirstExtraDecl = CXCursor_ModuleImportDecl ,
  CXCursor_LastExtraDecl = CXCursor_ConceptDecl , CXCursor_OverloadCandidate = 700
}
 Describes the kind of entity that a cursor refers to. More...
 
enum  CXLinkageKind {
  CXLinkage_Invalid , CXLinkage_NoLinkage , CXLinkage_Internal , CXLinkage_UniqueExternal ,
  CXLinkage_External
}
 Describe the linkage of the entity referred to by a cursor. More...
 
enum  CXVisibilityKind { CXVisibility_Invalid , CXVisibility_Hidden , CXVisibility_Protected , CXVisibility_Default }
 
enum  CXLanguageKind { CXLanguage_Invalid = 0 , CXLanguage_C , CXLanguage_ObjC , CXLanguage_CPlusPlus }
 Describe the "language" of the entity referred to by a cursor. More...
 
enum  CXTLSKind { CXTLS_None = 0 , CXTLS_Dynamic , CXTLS_Static }
 Describe the "thread-local storage (TLS) kind" of the declaration referred to by a cursor. More...
 
enum  CXTypeKind {
  CXType_Invalid = 0 , CXType_Unexposed = 1 , CXType_Void = 2 , CXType_Bool = 3 ,
  CXType_Char_U = 4 , CXType_UChar = 5 , CXType_Char16 = 6 , CXType_Char32 = 7 ,
  CXType_UShort = 8 , CXType_UInt = 9 , CXType_ULong = 10 , CXType_ULongLong = 11 ,
  CXType_UInt128 = 12 , CXType_Char_S = 13 , CXType_SChar = 14 , CXType_WChar = 15 ,
  CXType_Short = 16 , CXType_Int = 17 , CXType_Long = 18 , CXType_LongLong = 19 ,
  CXType_Int128 = 20 , CXType_Float = 21 , CXType_Double = 22 , CXType_LongDouble = 23 ,
  CXType_NullPtr = 24 , CXType_Overload = 25 , CXType_Dependent = 26 , CXType_ObjCId = 27 ,
  CXType_ObjCClass = 28 , CXType_ObjCSel = 29 , CXType_Float128 = 30 , CXType_Half = 31 ,
  CXType_Float16 = 32 , CXType_ShortAccum = 33 , CXType_Accum = 34 , CXType_LongAccum = 35 ,
  CXType_UShortAccum = 36 , CXType_UAccum = 37 , CXType_ULongAccum = 38 , CXType_BFloat16 = 39 ,
  CXType_Ibm128 = 40 , CXType_FirstBuiltin = CXType_Void , CXType_LastBuiltin = CXType_Ibm128 , CXType_Complex = 100 ,
  CXType_Pointer = 101 , CXType_BlockPointer = 102 , CXType_LValueReference = 103 , CXType_RValueReference = 104 ,
  CXType_Record = 105 , CXType_Enum = 106 , CXType_Typedef = 107 , CXType_ObjCInterface = 108 ,
  CXType_ObjCObjectPointer = 109 , CXType_FunctionNoProto = 110 , CXType_FunctionProto = 111 , CXType_ConstantArray = 112 ,
  CXType_Vector = 113 , CXType_IncompleteArray = 114 , CXType_VariableArray = 115 , CXType_DependentSizedArray = 116 ,
  CXType_MemberPointer = 117 , CXType_Auto = 118 , CXType_Elaborated = 119 , CXType_Pipe = 120 ,
  CXType_OCLImage1dRO = 121 , CXType_OCLImage1dArrayRO = 122 , CXType_OCLImage1dBufferRO = 123 , CXType_OCLImage2dRO = 124 ,
  CXType_OCLImage2dArrayRO = 125 , CXType_OCLImage2dDepthRO = 126 , CXType_OCLImage2dArrayDepthRO = 127 , CXType_OCLImage2dMSAARO = 128 ,
  CXType_OCLImage2dArrayMSAARO = 129 , CXType_OCLImage2dMSAADepthRO = 130 , CXType_OCLImage2dArrayMSAADepthRO = 131 , CXType_OCLImage3dRO = 132 ,
  CXType_OCLImage1dWO = 133 , CXType_OCLImage1dArrayWO = 134 , CXType_OCLImage1dBufferWO = 135 , CXType_OCLImage2dWO = 136 ,
  CXType_OCLImage2dArrayWO = 137 , CXType_OCLImage2dDepthWO = 138 , CXType_OCLImage2dArrayDepthWO = 139 , CXType_OCLImage2dMSAAWO = 140 ,
  CXType_OCLImage2dArrayMSAAWO = 141 , CXType_OCLImage2dMSAADepthWO = 142 , CXType_OCLImage2dArrayMSAADepthWO = 143 , CXType_OCLImage3dWO = 144 ,
  CXType_OCLImage1dRW = 145 , CXType_OCLImage1dArrayRW = 146 , CXType_OCLImage1dBufferRW = 147 , CXType_OCLImage2dRW = 148 ,
  CXType_OCLImage2dArrayRW = 149 , CXType_OCLImage2dDepthRW = 150 , CXType_OCLImage2dArrayDepthRW = 151 , CXType_OCLImage2dMSAARW = 152 ,
  CXType_OCLImage2dArrayMSAARW = 153 , CXType_OCLImage2dMSAADepthRW = 154 , CXType_OCLImage2dArrayMSAADepthRW = 155 , CXType_OCLImage3dRW = 156 ,
  CXType_OCLSampler = 157 , CXType_OCLEvent = 158 , CXType_OCLQueue = 159 , CXType_OCLReserveID = 160 ,
  CXType_ObjCObject = 161 , CXType_ObjCTypeParam = 162 , CXType_Attributed = 163 , CXType_OCLIntelSubgroupAVCMcePayload = 164 ,
  CXType_OCLIntelSubgroupAVCImePayload = 165 , CXType_OCLIntelSubgroupAVCRefPayload = 166 , CXType_OCLIntelSubgroupAVCSicPayload = 167 , CXType_OCLIntelSubgroupAVCMceResult = 168 ,
  CXType_OCLIntelSubgroupAVCImeResult = 169 , CXType_OCLIntelSubgroupAVCRefResult = 170 , CXType_OCLIntelSubgroupAVCSicResult = 171 , CXType_OCLIntelSubgroupAVCImeResultSingleReferenceStreamout = 172 ,
  CXType_OCLIntelSubgroupAVCImeResultDualReferenceStreamout = 173 , CXType_OCLIntelSubgroupAVCImeSingleReferenceStreamin = 174 , CXType_OCLIntelSubgroupAVCImeDualReferenceStreamin = 175 , CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout = 172 ,
  CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout = 173 , CXType_OCLIntelSubgroupAVCImeSingleRefStreamin = 174 , CXType_OCLIntelSubgroupAVCImeDualRefStreamin = 175 , CXType_ExtVector = 176 ,
  CXType_Atomic = 177 , CXType_BTFTagAttributed = 178 , CXType_HLSLResource = 179 , CXType_HLSLAttributedResource = 180
}
 Describes the kind of type. More...
 
enum  CXCallingConv {
  CXCallingConv_Default = 0 , CXCallingConv_C = 1 , CXCallingConv_X86StdCall = 2 , CXCallingConv_X86FastCall = 3 ,
  CXCallingConv_X86ThisCall = 4 , CXCallingConv_X86Pascal = 5 , CXCallingConv_AAPCS = 6 , CXCallingConv_AAPCS_VFP = 7 ,
  CXCallingConv_X86RegCall = 8 , CXCallingConv_IntelOclBicc = 9 , CXCallingConv_Win64 = 10 , CXCallingConv_X86_64Win64 = CXCallingConv_Win64 ,
  CXCallingConv_X86_64SysV = 11 , CXCallingConv_X86VectorCall = 12 , CXCallingConv_Swift = 13 , CXCallingConv_PreserveMost = 14 ,
  CXCallingConv_PreserveAll = 15 , CXCallingConv_AArch64VectorCall = 16 , CXCallingConv_SwiftAsync = 17 , CXCallingConv_AArch64SVEPCS = 18 ,
  CXCallingConv_M68kRTD = 19 , CXCallingConv_PreserveNone = 20 , CXCallingConv_RISCVVectorCall = 21 , CXCallingConv_Invalid = 100 ,
  CXCallingConv_Unexposed = 200
}
 Describes the calling convention of a function type. More...
 
enum  CXTemplateArgumentKind {
  CXTemplateArgumentKind_Null , CXTemplateArgumentKind_Type , CXTemplateArgumentKind_Declaration , CXTemplateArgumentKind_NullPtr ,
  CXTemplateArgumentKind_Integral , CXTemplateArgumentKind_Template , CXTemplateArgumentKind_TemplateExpansion , CXTemplateArgumentKind_Expression ,
  CXTemplateArgumentKind_Pack , CXTemplateArgumentKind_Invalid
}
 Describes the kind of a template argument. More...
 
enum  CXTypeNullabilityKind {
  CXTypeNullability_NonNull = 0 , CXTypeNullability_Nullable = 1 , CXTypeNullability_Unspecified = 2 , CXTypeNullability_Invalid = 3 ,
  CXTypeNullability_NullableResult = 4
}
 
enum  CXTypeLayoutError {
  CXTypeLayoutError_Invalid = -1 , CXTypeLayoutError_Incomplete = -2 , CXTypeLayoutError_Dependent = -3 , CXTypeLayoutError_NotConstantSize = -4 ,
  CXTypeLayoutError_InvalidFieldName = -5 , CXTypeLayoutError_Undeduced = -6
}
 List the possible error codes for clang_Type_getSizeOf, clang_Type_getAlignOf, clang_Type_getOffsetOf and clang_Cursor_getOffsetOf. More...
 
enum  CXRefQualifierKind { CXRefQualifier_None = 0 , CXRefQualifier_LValue , CXRefQualifier_RValue }
 
enum  CX_CXXAccessSpecifier { CX_CXXInvalidAccessSpecifier , CX_CXXPublic , CX_CXXProtected , CX_CXXPrivate }
 Represents the C++ access control level to a base class for a cursor with kind CX_CXXBaseSpecifier. More...
 
enum  CX_StorageClass {
  CX_SC_Invalid , CX_SC_None , CX_SC_Extern , CX_SC_Static ,
  CX_SC_PrivateExtern , CX_SC_OpenCLWorkGroupLocal , CX_SC_Auto , CX_SC_Register
}
 Represents the storage classes as declared in the source. More...
 
enum  CX_BinaryOperatorKind {
  CX_BO_Invalid = 0 , CX_BO_PtrMemD = 1 , CX_BO_PtrMemI = 2 , CX_BO_Mul = 3 ,
  CX_BO_Div = 4 , CX_BO_Rem = 5 , CX_BO_Add = 6 , CX_BO_Sub = 7 ,
  CX_BO_Shl = 8 , CX_BO_Shr = 9 , CX_BO_Cmp = 10 , CX_BO_LT = 11 ,
  CX_BO_GT = 12 , CX_BO_LE = 13 , CX_BO_GE = 14 , CX_BO_EQ = 15 ,
  CX_BO_NE = 16 , CX_BO_And = 17 , CX_BO_Xor = 18 , CX_BO_Or = 19 ,
  CX_BO_LAnd = 20 , CX_BO_LOr = 21 , CX_BO_Assign = 22 , CX_BO_MulAssign = 23 ,
  CX_BO_DivAssign = 24 , CX_BO_RemAssign = 25 , CX_BO_AddAssign = 26 , CX_BO_SubAssign = 27 ,
  CX_BO_ShlAssign = 28 , CX_BO_ShrAssign = 29 , CX_BO_AndAssign = 30 , CX_BO_XorAssign = 31 ,
  CX_BO_OrAssign = 32 , CX_BO_Comma = 33 , CX_BO_LAST = CX_BO_Comma
}
 Represents a specific kind of binary operator which can appear at a cursor. More...
 
enum  CXChildVisitResult { CXChildVisit_Break , CXChildVisit_Continue , CXChildVisit_Recurse }
 Describes how the traversal of the children of a particular cursor should proceed after visiting a particular child cursor. More...
 
enum  CXPrintingPolicyProperty {
  CXPrintingPolicy_Indentation , CXPrintingPolicy_SuppressSpecifiers , CXPrintingPolicy_SuppressTagKeyword , CXPrintingPolicy_IncludeTagDefinition ,
  CXPrintingPolicy_SuppressScope , CXPrintingPolicy_SuppressUnwrittenScope , CXPrintingPolicy_SuppressInitializers , CXPrintingPolicy_ConstantArraySizeAsWritten ,
  CXPrintingPolicy_AnonymousTagLocations , CXPrintingPolicy_SuppressStrongLifetime , CXPrintingPolicy_SuppressLifetimeQualifiers , CXPrintingPolicy_SuppressTemplateArgsInCXXConstructors ,
  CXPrintingPolicy_Bool , CXPrintingPolicy_Restrict , CXPrintingPolicy_Alignof , CXPrintingPolicy_UnderscoreAlignof ,
  CXPrintingPolicy_UseVoidForZeroParams , CXPrintingPolicy_TerseOutput , CXPrintingPolicy_PolishForDeclaration , CXPrintingPolicy_Half ,
  CXPrintingPolicy_MSWChar , CXPrintingPolicy_IncludeNewlines , CXPrintingPolicy_MSVCFormatting , CXPrintingPolicy_ConstantsAsWritten ,
  CXPrintingPolicy_SuppressImplicitBase , CXPrintingPolicy_FullyQualifiedName , CXPrintingPolicy_LastProperty = CXPrintingPolicy_FullyQualifiedName
}
 Properties for the printing policy. More...
 
enum  CXObjCPropertyAttrKind {
  CXObjCPropertyAttr_noattr = 0x00 , CXObjCPropertyAttr_readonly = 0x01 , CXObjCPropertyAttr_getter = 0x02 , CXObjCPropertyAttr_assign = 0x04 ,
  CXObjCPropertyAttr_readwrite = 0x08 , CXObjCPropertyAttr_retain = 0x10 , CXObjCPropertyAttr_copy = 0x20 , CXObjCPropertyAttr_nonatomic = 0x40 ,
  CXObjCPropertyAttr_setter = 0x80 , CXObjCPropertyAttr_atomic = 0x100 , CXObjCPropertyAttr_weak = 0x200 , CXObjCPropertyAttr_strong = 0x400 ,
  CXObjCPropertyAttr_unsafe_unretained = 0x800 , CXObjCPropertyAttr_class = 0x1000
}
 Property attributes for a CXCursor_ObjCPropertyDecl. More...
 
enum  CXObjCDeclQualifierKind {
  CXObjCDeclQualifier_None = 0x0 , CXObjCDeclQualifier_In = 0x1 , CXObjCDeclQualifier_Inout = 0x2 , CXObjCDeclQualifier_Out = 0x4 ,
  CXObjCDeclQualifier_Bycopy = 0x8 , CXObjCDeclQualifier_Byref = 0x10 , CXObjCDeclQualifier_Oneway = 0x20
}
 'Qualifiers' written next to the return and parameter types in Objective-C method declarations. More...
 
enum  CXNameRefFlags { CXNameRange_WantQualifier = 0x1 , CXNameRange_WantTemplateArgs = 0x2 , CXNameRange_WantSinglePiece = 0x4 }
 
enum  CXTokenKind {
  CXToken_Punctuation , CXToken_Keyword , CXToken_Identifier , CXToken_Literal ,
  CXToken_Comment
}
 Describes a kind of token. More...
 
enum  CXCompletionChunkKind {
  CXCompletionChunk_Optional , CXCompletionChunk_TypedText , CXCompletionChunk_Text , CXCompletionChunk_Placeholder ,
  CXCompletionChunk_Informative , CXCompletionChunk_CurrentParameter , CXCompletionChunk_LeftParen , CXCompletionChunk_RightParen ,
  CXCompletionChunk_LeftBracket , CXCompletionChunk_RightBracket , CXCompletionChunk_LeftBrace , CXCompletionChunk_RightBrace ,
  CXCompletionChunk_LeftAngle , CXCompletionChunk_RightAngle , CXCompletionChunk_Comma , CXCompletionChunk_ResultType ,
  CXCompletionChunk_Colon , CXCompletionChunk_SemiColon , CXCompletionChunk_Equal , CXCompletionChunk_HorizontalSpace ,
  CXCompletionChunk_VerticalSpace
}
 Describes a single piece of text within a code-completion string. More...
 
enum  CXCodeComplete_Flags {
  CXCodeComplete_IncludeMacros = 0x01 , CXCodeComplete_IncludeCodePatterns = 0x02 , CXCodeComplete_IncludeBriefComments = 0x04 , CXCodeComplete_SkipPreamble = 0x08 ,
  CXCodeComplete_IncludeCompletionsWithFixIts = 0x10
}
 Flags that can be passed to clang_codeCompleteAt() to modify its behavior. More...
 
enum  CXCompletionContext {
  CXCompletionContext_Unexposed = 0 , CXCompletionContext_AnyType = 1 << 0 , CXCompletionContext_AnyValue = 1 << 1 , CXCompletionContext_ObjCObjectValue = 1 << 2 ,
  CXCompletionContext_ObjCSelectorValue = 1 << 3 , CXCompletionContext_CXXClassTypeValue = 1 << 4 , CXCompletionContext_DotMemberAccess = 1 << 5 , CXCompletionContext_ArrowMemberAccess = 1 << 6 ,
  CXCompletionContext_ObjCPropertyAccess = 1 << 7 , CXCompletionContext_EnumTag = 1 << 8 , CXCompletionContext_UnionTag = 1 << 9 , CXCompletionContext_StructTag = 1 << 10 ,
  CXCompletionContext_ClassTag = 1 << 11 , CXCompletionContext_Namespace = 1 << 12 , CXCompletionContext_NestedNameSpecifier = 1 << 13 , CXCompletionContext_ObjCInterface = 1 << 14 ,
  CXCompletionContext_ObjCProtocol = 1 << 15 , CXCompletionContext_ObjCCategory = 1 << 16 , CXCompletionContext_ObjCInstanceMessage = 1 << 17 , CXCompletionContext_ObjCClassMessage = 1 << 18 ,
  CXCompletionContext_ObjCSelectorName = 1 << 19 , CXCompletionContext_MacroName = 1 << 20 , CXCompletionContext_NaturalLanguage = 1 << 21 , CXCompletionContext_IncludedFile = 1 << 22 ,
  CXCompletionContext_Unknown = ((1 << 23) - 1)
}
 Bits that represent the context under which completion is occurring. More...
 
enum  CXEvalResultKind {
  CXEval_Int = 1 , CXEval_Float = 2 , CXEval_ObjCStrLiteral = 3 , CXEval_StrLiteral = 4 ,
  CXEval_CFStr = 5 , CXEval_Other = 6 , CXEval_UnExposed = 0
}
 
enum  CXVisitorResult { CXVisit_Break , CXVisit_Continue }
 
enum  CXResult { CXResult_Success = 0 , CXResult_Invalid = 1 , CXResult_VisitBreak = 2 }
 
enum  CXIdxEntityKind {
  CXIdxEntity_Unexposed = 0 , CXIdxEntity_Typedef = 1 , CXIdxEntity_Function = 2 , CXIdxEntity_Variable = 3 ,
  CXIdxEntity_Field = 4 , CXIdxEntity_EnumConstant = 5 , CXIdxEntity_ObjCClass = 6 , CXIdxEntity_ObjCProtocol = 7 ,
  CXIdxEntity_ObjCCategory = 8 , CXIdxEntity_ObjCInstanceMethod = 9 , CXIdxEntity_ObjCClassMethod = 10 , CXIdxEntity_ObjCProperty = 11 ,
  CXIdxEntity_ObjCIvar = 12 , CXIdxEntity_Enum = 13 , CXIdxEntity_Struct = 14 , CXIdxEntity_Union = 15 ,
  CXIdxEntity_CXXClass = 16 , CXIdxEntity_CXXNamespace = 17 , CXIdxEntity_CXXNamespaceAlias = 18 , CXIdxEntity_CXXStaticVariable = 19 ,
  CXIdxEntity_CXXStaticMethod = 20 , CXIdxEntity_CXXInstanceMethod = 21 , CXIdxEntity_CXXConstructor = 22 , CXIdxEntity_CXXDestructor = 23 ,
  CXIdxEntity_CXXConversionFunction = 24 , CXIdxEntity_CXXTypeAlias = 25 , CXIdxEntity_CXXInterface = 26 , CXIdxEntity_CXXConcept = 27
}
 
enum  CXIdxEntityLanguage {
  CXIdxEntityLang_None = 0 , CXIdxEntityLang_C = 1 , CXIdxEntityLang_ObjC = 2 , CXIdxEntityLang_CXX = 3 ,
  CXIdxEntityLang_Swift = 4
}
 
enum  CXIdxEntityCXXTemplateKind { CXIdxEntity_NonTemplate = 0 , CXIdxEntity_Template = 1 , CXIdxEntity_TemplatePartialSpecialization = 2 , CXIdxEntity_TemplateSpecialization = 3 }
 Extra C++ template information for an entity. More...
 
enum  CXIdxAttrKind { CXIdxAttr_Unexposed = 0 , CXIdxAttr_IBAction = 1 , CXIdxAttr_IBOutlet = 2 , CXIdxAttr_IBOutletCollection = 3 }
 
enum  CXIdxDeclInfoFlags { CXIdxDeclFlag_Skipped = 0x1 }
 
enum  CXIdxObjCContainerKind { CXIdxObjCContainer_ForwardRef = 0 , CXIdxObjCContainer_Interface = 1 , CXIdxObjCContainer_Implementation = 2 }
 
enum  CXIdxEntityRefKind { CXIdxEntityRef_Direct = 1 , CXIdxEntityRef_Implicit = 2 }
 Data for IndexerCallbacks::indexEntityReference. More...
 
enum  CXSymbolRole {
  CXSymbolRole_None = 0 , CXSymbolRole_Declaration = 1 << 0 , CXSymbolRole_Definition = 1 << 1 , CXSymbolRole_Reference = 1 << 2 ,
  CXSymbolRole_Read = 1 << 3 , CXSymbolRole_Write = 1 << 4 , CXSymbolRole_Call = 1 << 5 , CXSymbolRole_Dynamic = 1 << 6 ,
  CXSymbolRole_AddressOf = 1 << 7 , CXSymbolRole_Implicit = 1 << 8
}
 Roles that are attributed to symbol occurrences. More...
 
enum  CXIndexOptFlags {
  CXIndexOpt_None = 0x0 , CXIndexOpt_SuppressRedundantRefs = 0x1 , CXIndexOpt_IndexFunctionLocalSymbols = 0x2 , CXIndexOpt_IndexImplicitTemplateInstantiations = 0x4 ,
  CXIndexOpt_SuppressWarnings = 0x8 , CXIndexOpt_SkipParsedBodiesInSession = 0x10
}
 
enum  CXBinaryOperatorKind {
  CXBinaryOperator_Invalid , CXBinaryOperator_PtrMemD , CXBinaryOperator_PtrMemI , CXBinaryOperator_Mul ,
  CXBinaryOperator_Div , CXBinaryOperator_Rem , CXBinaryOperator_Add , CXBinaryOperator_Sub ,
  CXBinaryOperator_Shl , CXBinaryOperator_Shr , CXBinaryOperator_Cmp , CXBinaryOperator_LT ,
  CXBinaryOperator_GT , CXBinaryOperator_LE , CXBinaryOperator_GE , CXBinaryOperator_EQ ,
  CXBinaryOperator_NE , CXBinaryOperator_And , CXBinaryOperator_Xor , CXBinaryOperator_Or ,
  CXBinaryOperator_LAnd , CXBinaryOperator_LOr , CXBinaryOperator_Assign , CXBinaryOperator_MulAssign ,
  CXBinaryOperator_DivAssign , CXBinaryOperator_RemAssign , CXBinaryOperator_AddAssign , CXBinaryOperator_SubAssign ,
  CXBinaryOperator_ShlAssign , CXBinaryOperator_ShrAssign , CXBinaryOperator_AndAssign , CXBinaryOperator_XorAssign ,
  CXBinaryOperator_OrAssign , CXBinaryOperator_Comma
}
 Describes the kind of binary operators. More...
 
enum  CXUnaryOperatorKind {
  CXUnaryOperator_Invalid , CXUnaryOperator_PostInc , CXUnaryOperator_PostDec , CXUnaryOperator_PreInc ,
  CXUnaryOperator_PreDec , CXUnaryOperator_AddrOf , CXUnaryOperator_Deref , CXUnaryOperator_Plus ,
  CXUnaryOperator_Minus , CXUnaryOperator_Not , CXUnaryOperator_LNot , CXUnaryOperator_Real ,
  CXUnaryOperator_Imag , CXUnaryOperator_Extension , CXUnaryOperator_Coawait
}
 Describes the kind of unary operators. More...
 

Functions

CINDEX_LINKAGE CXIndex clang_createIndex (int excludeDeclarationsFromPCH, int displayDiagnostics)
 Provides a shared context for creating translation units.
 
CINDEX_LINKAGE void clang_disposeIndex (CXIndex index)
 Destroy the given index.
 
CINDEX_LINKAGE CXIndex clang_createIndexWithOptions (const CXIndexOptions *options)
 Provides a shared context for creating translation units.
 
CINDEX_LINKAGE void clang_CXIndex_setGlobalOptions (CXIndex, unsigned options)
 Sets general options associated with a CXIndex.
 
CINDEX_LINKAGE unsigned clang_CXIndex_getGlobalOptions (CXIndex)
 Gets the general options associated with a CXIndex.
 
CINDEX_LINKAGE void clang_CXIndex_setInvocationEmissionPathOption (CXIndex, const char *Path)
 Sets the invocation emission path option in a CXIndex.
 
CINDEX_LINKAGE unsigned clang_isFileMultipleIncludeGuarded (CXTranslationUnit tu, CXFile file)
 Determine whether the given header is guarded against multiple inclusions, either with the conventional #ifndef/#define/#endif macro guards or with #pragma once.
 
CINDEX_LINKAGE CXFile clang_getFile (CXTranslationUnit tu, const char *file_name)
 Retrieve a file handle within the given translation unit.
 
CINDEX_LINKAGE const char * clang_getFileContents (CXTranslationUnit tu, CXFile file, size_t *size)
 Retrieve the buffer associated with the given file.
 
CINDEX_LINKAGE CXSourceLocation clang_getLocation (CXTranslationUnit tu, CXFile file, unsigned line, unsigned column)
 Retrieves the source location associated with a given file/line/column in a particular translation unit.
 
CINDEX_LINKAGE CXSourceLocation clang_getLocationForOffset (CXTranslationUnit tu, CXFile file, unsigned offset)
 Retrieves the source location associated with a given character offset in a particular translation unit.
 
CINDEX_LINKAGE CXSourceRangeListclang_getSkippedRanges (CXTranslationUnit tu, CXFile file)
 Retrieve all ranges that were skipped by the preprocessor.
 
CINDEX_LINKAGE CXSourceRangeListclang_getAllSkippedRanges (CXTranslationUnit tu)
 Retrieve all ranges from all files that were skipped by the preprocessor.
 
CINDEX_LINKAGE unsigned clang_getNumDiagnostics (CXTranslationUnit Unit)
 Determine the number of diagnostics produced for the given translation unit.
 
CINDEX_LINKAGE CXDiagnostic clang_getDiagnostic (CXTranslationUnit Unit, unsigned Index)
 Retrieve a diagnostic associated with the given translation unit.
 
CINDEX_LINKAGE CXDiagnosticSet clang_getDiagnosticSetFromTU (CXTranslationUnit Unit)
 Retrieve the complete set of diagnostics associated with a translation unit.
 
CINDEX_LINKAGE CXString clang_getTranslationUnitSpelling (CXTranslationUnit CTUnit)
 Get the original translation unit source file name.
 
CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnitFromSourceFile (CXIndex CIdx, const char *source_filename, int num_clang_command_line_args, const char *const *clang_command_line_args, unsigned num_unsaved_files, struct CXUnsavedFile *unsaved_files)
 Return the CXTranslationUnit for a given source file and the provided command line arguments one would pass to the compiler.
 
CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnit (CXIndex CIdx, const char *ast_filename)
 Same as clang_createTranslationUnit2, but returns the CXTranslationUnit instead of an error code.
 
CINDEX_LINKAGE enum CXErrorCode clang_createTranslationUnit2 (CXIndex CIdx, const char *ast_filename, CXTranslationUnit *out_TU)
 Create a translation unit from an AST file (-emit-ast).
 
CINDEX_LINKAGE unsigned clang_defaultEditingTranslationUnitOptions (void)
 Returns the set of flags that is suitable for parsing a translation unit that is being edited.
 
CINDEX_LINKAGE CXTranslationUnit clang_parseTranslationUnit (CXIndex CIdx, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options)
 Same as clang_parseTranslationUnit2, but returns the CXTranslationUnit instead of an error code.
 
CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2 (CXIndex CIdx, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options, CXTranslationUnit *out_TU)
 Parse the given source file and the translation unit corresponding to that file.
 
CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2FullArgv (CXIndex CIdx, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options, CXTranslationUnit *out_TU)
 Same as clang_parseTranslationUnit2 but requires a full command line for command_line_args including argv[0].
 
CINDEX_LINKAGE unsigned clang_defaultSaveOptions (CXTranslationUnit TU)
 Returns the set of flags that is suitable for saving a translation unit.
 
CINDEX_LINKAGE int clang_saveTranslationUnit (CXTranslationUnit TU, const char *FileName, unsigned options)
 Saves a translation unit into a serialized representation of that translation unit on disk.
 
CINDEX_LINKAGE unsigned clang_suspendTranslationUnit (CXTranslationUnit)
 Suspend a translation unit in order to free memory associated with it.
 
CINDEX_LINKAGE void clang_disposeTranslationUnit (CXTranslationUnit)
 Destroy the specified CXTranslationUnit object.
 
CINDEX_LINKAGE unsigned clang_defaultReparseOptions (CXTranslationUnit TU)
 Returns the set of flags that is suitable for reparsing a translation unit.
 
CINDEX_LINKAGE int clang_reparseTranslationUnit (CXTranslationUnit TU, unsigned num_unsaved_files, struct CXUnsavedFile *unsaved_files, unsigned options)
 Reparse the source files that produced this translation unit.
 
CINDEX_LINKAGE const char * clang_getTUResourceUsageName (enum CXTUResourceUsageKind kind)
 Returns the human-readable null-terminated C string that represents the name of the memory category.
 
CINDEX_LINKAGE CXTUResourceUsage clang_getCXTUResourceUsage (CXTranslationUnit TU)
 Return the memory usage of a translation unit.
 
CINDEX_LINKAGE void clang_disposeCXTUResourceUsage (CXTUResourceUsage usage)
 
CINDEX_LINKAGE CXTargetInfo clang_getTranslationUnitTargetInfo (CXTranslationUnit CTUnit)
 Get target information for this translation unit.
 
CINDEX_LINKAGE void clang_TargetInfo_dispose (CXTargetInfo Info)
 Destroy the CXTargetInfo object.
 
CINDEX_LINKAGE CXString clang_TargetInfo_getTriple (CXTargetInfo Info)
 Get the normalized target triple as a string.
 
CINDEX_LINKAGE int clang_TargetInfo_getPointerWidth (CXTargetInfo Info)
 Get the pointer width of the target in bits.
 
CINDEX_LINKAGE CXCursor clang_getNullCursor (void)
 Retrieve the NULL cursor, which represents no entity.
 
CINDEX_LINKAGE CXCursor clang_getTranslationUnitCursor (CXTranslationUnit)
 Retrieve the cursor that represents the given translation unit.
 
CINDEX_LINKAGE unsigned clang_equalCursors (CXCursor, CXCursor)
 Determine whether two cursors are equivalent.
 
CINDEX_LINKAGE int clang_Cursor_isNull (CXCursor cursor)
 Returns non-zero if cursor is null.
 
CINDEX_LINKAGE unsigned clang_hashCursor (CXCursor)
 Compute a hash value for the given cursor.
 
CINDEX_LINKAGE enum CXCursorKind clang_getCursorKind (CXCursor)
 Retrieve the kind of the given cursor.
 
CINDEX_LINKAGE unsigned clang_isDeclaration (enum CXCursorKind)
 Determine whether the given cursor kind represents a declaration.
 
CINDEX_LINKAGE unsigned clang_isInvalidDeclaration (CXCursor)
 Determine whether the given declaration is invalid.
 
CINDEX_LINKAGE unsigned clang_isReference (enum CXCursorKind)
 Determine whether the given cursor kind represents a simple reference.
 
CINDEX_LINKAGE unsigned clang_isExpression (enum CXCursorKind)
 Determine whether the given cursor kind represents an expression.
 
CINDEX_LINKAGE unsigned clang_isStatement (enum CXCursorKind)
 Determine whether the given cursor kind represents a statement.
 
CINDEX_LINKAGE unsigned clang_isAttribute (enum CXCursorKind)
 Determine whether the given cursor kind represents an attribute.
 
CINDEX_LINKAGE unsigned clang_Cursor_hasAttrs (CXCursor C)
 Determine whether the given cursor has any attributes.
 
CINDEX_LINKAGE unsigned clang_isInvalid (enum CXCursorKind)
 Determine whether the given cursor kind represents an invalid cursor.
 
CINDEX_LINKAGE unsigned clang_isTranslationUnit (enum CXCursorKind)
 Determine whether the given cursor kind represents a translation unit.
 
CINDEX_LINKAGE unsigned clang_isPreprocessing (enum CXCursorKind)
 
CINDEX_LINKAGE unsigned clang_isUnexposed (enum CXCursorKind)
 
CINDEX_LINKAGE enum CXLinkageKind clang_getCursorLinkage (CXCursor cursor)
 Determine the linkage of the entity referred to by a given cursor.
 
CINDEX_LINKAGE enum CXVisibilityKind clang_getCursorVisibility (CXCursor cursor)
 Describe the visibility of the entity referred to by a cursor.
 
CINDEX_LINKAGE enum CXAvailabilityKind clang_getCursorAvailability (CXCursor cursor)
 Determine the availability of the entity that this cursor refers to, taking the current target platform into account.
 
CINDEX_LINKAGE int clang_getCursorPlatformAvailability (CXCursor cursor, int *always_deprecated, CXString *deprecated_message, int *always_unavailable, CXString *unavailable_message, CXPlatformAvailability *availability, int availability_size)
 Determine the availability of the entity that this cursor refers to on any platforms for which availability information is known.
 
CINDEX_LINKAGE void clang_disposeCXPlatformAvailability (CXPlatformAvailability *availability)
 Free the memory associated with a CXPlatformAvailability structure.
 
CINDEX_LINKAGE CXCursor clang_Cursor_getVarDeclInitializer (CXCursor cursor)
 If cursor refers to a variable declaration and it has initializer returns cursor referring to the initializer otherwise return null cursor.
 
CINDEX_LINKAGE int clang_Cursor_hasVarDeclGlobalStorage (CXCursor cursor)
 If cursor refers to a variable declaration that has global storage returns 1.
 
CINDEX_LINKAGE int clang_Cursor_hasVarDeclExternalStorage (CXCursor cursor)
 If cursor refers to a variable declaration that has external storage returns 1.
 
CINDEX_LINKAGE enum CXLanguageKind clang_getCursorLanguage (CXCursor cursor)
 Determine the "language" of the entity referred to by a given cursor.
 
CINDEX_LINKAGE enum CXTLSKind clang_getCursorTLSKind (CXCursor cursor)
 Determine the "thread-local storage (TLS) kind" of the declaration referred to by a cursor.
 
CINDEX_LINKAGE CXTranslationUnit clang_Cursor_getTranslationUnit (CXCursor)
 Returns the translation unit that a cursor originated from.
 
CINDEX_LINKAGE CXCursorSet clang_createCXCursorSet (void)
 Creates an empty CXCursorSet.
 
CINDEX_LINKAGE void clang_disposeCXCursorSet (CXCursorSet cset)
 Disposes a CXCursorSet and releases its associated memory.
 
CINDEX_LINKAGE unsigned clang_CXCursorSet_contains (CXCursorSet cset, CXCursor cursor)
 Queries a CXCursorSet to see if it contains a specific CXCursor.
 
CINDEX_LINKAGE unsigned clang_CXCursorSet_insert (CXCursorSet cset, CXCursor cursor)
 Inserts a CXCursor into a CXCursorSet.
 
CINDEX_LINKAGE CXCursor clang_getCursorSemanticParent (CXCursor cursor)
 Determine the semantic parent of the given cursor.
 
CINDEX_LINKAGE CXCursor clang_getCursorLexicalParent (CXCursor cursor)
 Determine the lexical parent of the given cursor.
 
CINDEX_LINKAGE void clang_getOverriddenCursors (CXCursor cursor, CXCursor **overridden, unsigned *num_overridden)
 Determine the set of methods that are overridden by the given method.
 
CINDEX_LINKAGE void clang_disposeOverriddenCursors (CXCursor *overridden)
 Free the set of overridden cursors returned by clang_getOverriddenCursors().
 
CINDEX_LINKAGE CXFile clang_getIncludedFile (CXCursor cursor)
 Retrieve the file that is included by the given inclusion directive cursor.
 
CINDEX_LINKAGE CXCursor clang_getCursor (CXTranslationUnit, CXSourceLocation)
 Map a source location to the cursor that describes the entity at that location in the source code.
 
CINDEX_LINKAGE CXSourceLocation clang_getCursorLocation (CXCursor)
 Retrieve the physical location of the source constructor referenced by the given cursor.
 
CINDEX_LINKAGE CXSourceRange clang_getCursorExtent (CXCursor)
 Retrieve the physical extent of the source construct referenced by the given cursor.
 
CINDEX_LINKAGE CXType clang_getCursorType (CXCursor C)
 Retrieve the type of a CXCursor (if any).
 
CINDEX_LINKAGE CXString clang_getTypeSpelling (CXType CT)
 Pretty-print the underlying type using the rules of the language of the translation unit from which it came.
 
CINDEX_LINKAGE CXType clang_getTypedefDeclUnderlyingType (CXCursor C)
 Retrieve the underlying type of a typedef declaration.
 
CINDEX_LINKAGE CXType clang_getEnumDeclIntegerType (CXCursor C)
 Retrieve the integer type of an enum declaration.
 
CINDEX_LINKAGE long long clang_getEnumConstantDeclValue (CXCursor C)
 Retrieve the integer value of an enum constant declaration as a signed long long.
 
CINDEX_LINKAGE unsigned long long clang_getEnumConstantDeclUnsignedValue (CXCursor C)
 Retrieve the integer value of an enum constant declaration as an unsigned long long.
 
CINDEX_LINKAGE unsigned clang_Cursor_isBitField (CXCursor C)
 Returns non-zero if the cursor specifies a Record member that is a bit-field.
 
CINDEX_LINKAGE int clang_getFieldDeclBitWidth (CXCursor C)
 Retrieve the bit width of a bit-field declaration as an integer.
 
CINDEX_LINKAGE int clang_Cursor_getNumArguments (CXCursor C)
 Retrieve the number of non-variadic arguments associated with a given cursor.
 
CINDEX_LINKAGE CXCursor clang_Cursor_getArgument (CXCursor C, unsigned i)
 Retrieve the argument cursor of a function or method.
 
CINDEX_LINKAGE int clang_Cursor_getNumTemplateArguments (CXCursor C)
 Returns the number of template args of a function, struct, or class decl representing a template specialization.
 
CINDEX_LINKAGE enum CXTemplateArgumentKind clang_Cursor_getTemplateArgumentKind (CXCursor C, unsigned I)
 Retrieve the kind of the I'th template argument of the CXCursor C.
 
CINDEX_LINKAGE CXType clang_Cursor_getTemplateArgumentType (CXCursor C, unsigned I)
 Retrieve a CXType representing the type of a TemplateArgument of a function decl representing a template specialization.
 
CINDEX_LINKAGE long long clang_Cursor_getTemplateArgumentValue (CXCursor C, unsigned I)
 Retrieve the value of an Integral TemplateArgument (of a function decl representing a template specialization) as a signed long long.
 
CINDEX_LINKAGE unsigned long long clang_Cursor_getTemplateArgumentUnsignedValue (CXCursor C, unsigned I)
 Retrieve the value of an Integral TemplateArgument (of a function decl representing a template specialization) as an unsigned long long.
 
CINDEX_LINKAGE unsigned clang_equalTypes (CXType A, CXType B)
 Determine whether two CXTypes represent the same type.
 
CINDEX_LINKAGE CXType clang_getCanonicalType (CXType T)
 Return the canonical type for a CXType.
 
CINDEX_LINKAGE unsigned clang_isConstQualifiedType (CXType T)
 Determine whether a CXType has the "const" qualifier set, without looking through typedefs that may have added "const" at a different level.
 
CINDEX_LINKAGE unsigned clang_Cursor_isMacroFunctionLike (CXCursor C)
 Determine whether a CXCursor that is a macro, is function like.
 
CINDEX_LINKAGE unsigned clang_Cursor_isMacroBuiltin (CXCursor C)
 Determine whether a CXCursor that is a macro, is a builtin one.
 
CINDEX_LINKAGE unsigned clang_Cursor_isFunctionInlined (CXCursor C)
 Determine whether a CXCursor that is a function declaration, is an inline declaration.
 
CINDEX_LINKAGE unsigned clang_isVolatileQualifiedType (CXType T)
 Determine whether a CXType has the "volatile" qualifier set, without looking through typedefs that may have added "volatile" at a different level.
 
CINDEX_LINKAGE unsigned clang_isRestrictQualifiedType (CXType T)
 Determine whether a CXType has the "restrict" qualifier set, without looking through typedefs that may have added "restrict" at a different level.
 
CINDEX_LINKAGE unsigned clang_getAddressSpace (CXType T)
 Returns the address space of the given type.
 
CINDEX_LINKAGE CXString clang_getTypedefName (CXType CT)
 Returns the typedef name of the given type.
 
CINDEX_LINKAGE CXType clang_getPointeeType (CXType T)
 For pointer types, returns the type of the pointee.
 
CINDEX_LINKAGE CXType clang_getUnqualifiedType (CXType CT)
 Retrieve the unqualified variant of the given type, removing as little sugar as possible.
 
CINDEX_LINKAGE CXType clang_getNonReferenceType (CXType CT)
 For reference types (e.g., "const int&"), returns the type that the reference refers to (e.g "const int").
 
CINDEX_LINKAGE CXCursor clang_getTypeDeclaration (CXType T)
 Return the cursor for the declaration of the given type.
 
CINDEX_LINKAGE CXString clang_getDeclObjCTypeEncoding (CXCursor C)
 Returns the Objective-C type encoding for the specified declaration.
 
CINDEX_LINKAGE CXString clang_Type_getObjCEncoding (CXType type)
 Returns the Objective-C type encoding for the specified CXType.
 
CINDEX_LINKAGE CXString clang_getTypeKindSpelling (enum CXTypeKind K)
 Retrieve the spelling of a given CXTypeKind.
 
CINDEX_LINKAGE enum CXCallingConv clang_getFunctionTypeCallingConv (CXType T)
 Retrieve the calling convention associated with a function type.
 
CINDEX_LINKAGE CXType clang_getResultType (CXType T)
 Retrieve the return type associated with a function type.
 
CINDEX_LINKAGE int clang_getExceptionSpecificationType (CXType T)
 Retrieve the exception specification type associated with a function type.
 
CINDEX_LINKAGE int clang_getNumArgTypes (CXType T)
 Retrieve the number of non-variadic parameters associated with a function type.
 
CINDEX_LINKAGE CXType clang_getArgType (CXType T, unsigned i)
 Retrieve the type of a parameter of a function type.
 
CINDEX_LINKAGE CXType clang_Type_getObjCObjectBaseType (CXType T)
 Retrieves the base type of the ObjCObjectType.
 
CINDEX_LINKAGE unsigned clang_Type_getNumObjCProtocolRefs (CXType T)
 Retrieve the number of protocol references associated with an ObjC object/id.
 
CINDEX_LINKAGE CXCursor clang_Type_getObjCProtocolDecl (CXType T, unsigned i)
 Retrieve the decl for a protocol reference for an ObjC object/id.
 
CINDEX_LINKAGE unsigned clang_Type_getNumObjCTypeArgs (CXType T)
 Retrieve the number of type arguments associated with an ObjC object.
 
CINDEX_LINKAGE CXType clang_Type_getObjCTypeArg (CXType T, unsigned i)
 Retrieve a type argument associated with an ObjC object.
 
CINDEX_LINKAGE unsigned clang_isFunctionTypeVariadic (CXType T)
 Return 1 if the CXType is a variadic function type, and 0 otherwise.
 
CINDEX_LINKAGE CXType clang_getCursorResultType (CXCursor C)
 Retrieve the return type associated with a given cursor.
 
CINDEX_LINKAGE int clang_getCursorExceptionSpecificationType (CXCursor C)
 Retrieve the exception specification type associated with a given cursor.
 
CINDEX_LINKAGE unsigned clang_isPODType (CXType T)
 Return 1 if the CXType is a POD (plain old data) type, and 0 otherwise.
 
CINDEX_LINKAGE CXType clang_getElementType (CXType T)
 Return the element type of an array, complex, or vector type.
 
CINDEX_LINKAGE long long clang_getNumElements (CXType T)
 Return the number of elements of an array or vector type.
 
CINDEX_LINKAGE CXType clang_getArrayElementType (CXType T)
 Return the element type of an array type.
 
CINDEX_LINKAGE long long clang_getArraySize (CXType T)
 Return the array size of a constant array.
 
CINDEX_LINKAGE CXType clang_Type_getNamedType (CXType T)
 Retrieve the type named by the qualified-id.
 
CINDEX_LINKAGE unsigned clang_Type_isTransparentTagTypedef (CXType T)
 Determine if a typedef is 'transparent' tag.
 
CINDEX_LINKAGE enum CXTypeNullabilityKind clang_Type_getNullability (CXType T)
 Retrieve the nullability kind of a pointer type.
 
CINDEX_LINKAGE long long clang_Type_getAlignOf (CXType T)
 Return the alignment of a type in bytes as per C++[expr.alignof] standard.
 
CINDEX_LINKAGE CXType clang_Type_getClassType (CXType T)
 Return the class type of an member pointer type.
 
CINDEX_LINKAGE long long clang_Type_getSizeOf (CXType T)
 Return the size of a type in bytes as per C++[expr.sizeof] standard.
 
CINDEX_LINKAGE long long clang_Type_getOffsetOf (CXType T, const char *S)
 Return the offset of a field named S in a record of type T in bits as it would be returned by offsetof as per C++11[18.2p4].
 
CINDEX_LINKAGE CXType clang_Type_getModifiedType (CXType T)
 Return the type that was modified by this attributed type.
 
CINDEX_LINKAGE CXType clang_Type_getValueType (CXType CT)
 Gets the type contained by this atomic type.
 
CINDEX_LINKAGE long long clang_Cursor_getOffsetOfField (CXCursor C)
 Return the offset of the field represented by the Cursor.
 
CINDEX_LINKAGE unsigned clang_Cursor_isAnonymous (CXCursor C)
 Determine whether the given cursor represents an anonymous tag or namespace.
 
CINDEX_LINKAGE unsigned clang_Cursor_isAnonymousRecordDecl (CXCursor C)
 Determine whether the given cursor represents an anonymous record declaration.
 
CINDEX_LINKAGE unsigned clang_Cursor_isInlineNamespace (CXCursor C)
 Determine whether the given cursor represents an inline namespace declaration.
 
CINDEX_LINKAGE int clang_Type_getNumTemplateArguments (CXType T)
 Returns the number of template arguments for given template specialization, or -1 if type T is not a template specialization.
 
CINDEX_LINKAGE CXType clang_Type_getTemplateArgumentAsType (CXType T, unsigned i)
 Returns the type template argument of a template class specialization at given index.
 
CINDEX_LINKAGE enum CXRefQualifierKind clang_Type_getCXXRefQualifier (CXType T)
 Retrieve the ref-qualifier kind of a function or method.
 
CINDEX_LINKAGE unsigned clang_isVirtualBase (CXCursor)
 Returns 1 if the base class specified by the cursor with kind CX_CXXBaseSpecifier is virtual.
 
CINDEX_LINKAGE enum CX_CXXAccessSpecifier clang_getCXXAccessSpecifier (CXCursor)
 Returns the access control level for the referenced object.
 
CINDEX_LINKAGE enum CX_BinaryOperatorKind clang_Cursor_getBinaryOpcode (CXCursor C)
 Returns the operator code for the binary operator.
 
CINDEX_LINKAGE CXString clang_Cursor_getBinaryOpcodeStr (enum CX_BinaryOperatorKind Op)
 Returns a string containing the spelling of the binary operator.
 
CINDEX_LINKAGE enum CX_StorageClass clang_Cursor_getStorageClass (CXCursor)
 Returns the storage class for a function or variable declaration.
 
CINDEX_LINKAGE unsigned clang_getNumOverloadedDecls (CXCursor cursor)
 Determine the number of overloaded declarations referenced by a CXCursor_OverloadedDeclRef cursor.
 
CINDEX_LINKAGE CXCursor clang_getOverloadedDecl (CXCursor cursor, unsigned index)
 Retrieve a cursor for one of the overloaded declarations referenced by a CXCursor_OverloadedDeclRef cursor.
 
CINDEX_LINKAGE CXType clang_getIBOutletCollectionType (CXCursor)
 For cursors representing an iboutletcollection attribute, this function returns the collection element type.
 
CINDEX_LINKAGE unsigned clang_visitChildren (CXCursor parent, CXCursorVisitor visitor, CXClientData client_data)
 Visit the children of a particular cursor.
 
CINDEX_LINKAGE unsigned clang_visitChildrenWithBlock (CXCursor parent, CXCursorVisitorBlock block)
 Visits the children of a cursor using the specified block.
 
CINDEX_LINKAGE CXString clang_getCursorUSR (CXCursor)
 Retrieve a Unified Symbol Resolution (USR) for the entity referenced by the given cursor.
 
CINDEX_LINKAGE CXString clang_constructUSR_ObjCClass (const char *class_name)
 Construct a USR for a specified Objective-C class.
 
CINDEX_LINKAGE CXString clang_constructUSR_ObjCCategory (const char *class_name, const char *category_name)
 Construct a USR for a specified Objective-C category.
 
CINDEX_LINKAGE CXString clang_constructUSR_ObjCProtocol (const char *protocol_name)
 Construct a USR for a specified Objective-C protocol.
 
CINDEX_LINKAGE CXString clang_constructUSR_ObjCIvar (const char *name, CXString classUSR)
 Construct a USR for a specified Objective-C instance variable and the USR for its containing class.
 
CINDEX_LINKAGE CXString clang_constructUSR_ObjCMethod (const char *name, unsigned isInstanceMethod, CXString classUSR)
 Construct a USR for a specified Objective-C method and the USR for its containing class.
 
CINDEX_LINKAGE CXString clang_constructUSR_ObjCProperty (const char *property, CXString classUSR)
 Construct a USR for a specified Objective-C property and the USR for its containing class.
 
CINDEX_LINKAGE CXString clang_getCursorSpelling (CXCursor)
 Retrieve a name for the entity referenced by this cursor.
 
CINDEX_LINKAGE CXSourceRange clang_Cursor_getSpellingNameRange (CXCursor, unsigned pieceIndex, unsigned options)
 Retrieve a range for a piece that forms the cursors spelling name.
 
CINDEX_LINKAGE unsigned clang_PrintingPolicy_getProperty (CXPrintingPolicy Policy, enum CXPrintingPolicyProperty Property)
 Get a property value for the given printing policy.
 
CINDEX_LINKAGE void clang_PrintingPolicy_setProperty (CXPrintingPolicy Policy, enum CXPrintingPolicyProperty Property, unsigned Value)
 Set a property value for the given printing policy.
 
CINDEX_LINKAGE CXPrintingPolicy clang_getCursorPrintingPolicy (CXCursor)
 Retrieve the default policy for the cursor.
 
CINDEX_LINKAGE void clang_PrintingPolicy_dispose (CXPrintingPolicy Policy)
 Release a printing policy.
 
CINDEX_LINKAGE CXString clang_getCursorPrettyPrinted (CXCursor Cursor, CXPrintingPolicy Policy)
 Pretty print declarations.
 
CINDEX_LINKAGE CXString clang_getCursorDisplayName (CXCursor)
 Retrieve the display name for the entity referenced by this cursor.
 
CINDEX_LINKAGE CXCursor clang_getCursorReferenced (CXCursor)
 For a cursor that is a reference, retrieve a cursor representing the entity that it references.
 
CINDEX_LINKAGE CXCursor clang_getCursorDefinition (CXCursor)
 For a cursor that is either a reference to or a declaration of some entity, retrieve a cursor that describes the definition of that entity.
 
CINDEX_LINKAGE unsigned clang_isCursorDefinition (CXCursor)
 Determine whether the declaration pointed to by this cursor is also a definition of that entity.
 
CINDEX_LINKAGE CXCursor clang_getCanonicalCursor (CXCursor)
 Retrieve the canonical cursor corresponding to the given cursor.
 
CINDEX_LINKAGE int clang_Cursor_getObjCSelectorIndex (CXCursor)
 If the cursor points to a selector identifier in an Objective-C method or message expression, this returns the selector index.
 
CINDEX_LINKAGE int clang_Cursor_isDynamicCall (CXCursor C)
 Given a cursor pointing to a C++ method call or an Objective-C message, returns non-zero if the method/message is "dynamic", meaning:
 
CINDEX_LINKAGE CXType clang_Cursor_getReceiverType (CXCursor C)
 Given a cursor pointing to an Objective-C message or property reference, or C++ method call, returns the CXType of the receiver.
 
CINDEX_LINKAGE unsigned clang_Cursor_getObjCPropertyAttributes (CXCursor C, unsigned reserved)
 Given a cursor that represents a property declaration, return the associated property attributes.
 
CINDEX_LINKAGE CXString clang_Cursor_getObjCPropertyGetterName (CXCursor C)
 Given a cursor that represents a property declaration, return the name of the method that implements the getter.
 
CINDEX_LINKAGE CXString clang_Cursor_getObjCPropertySetterName (CXCursor C)
 Given a cursor that represents a property declaration, return the name of the method that implements the setter, if any.
 
CINDEX_LINKAGE unsigned clang_Cursor_getObjCDeclQualifiers (CXCursor C)
 Given a cursor that represents an Objective-C method or parameter declaration, return the associated Objective-C qualifiers for the return type or the parameter respectively.
 
CINDEX_LINKAGE unsigned clang_Cursor_isObjCOptional (CXCursor C)
 Given a cursor that represents an Objective-C method or property declaration, return non-zero if the declaration was affected by "\@optional".
 
CINDEX_LINKAGE unsigned clang_Cursor_isVariadic (CXCursor C)
 Returns non-zero if the given cursor is a variadic function or method.
 
CINDEX_LINKAGE unsigned clang_Cursor_isExternalSymbol (CXCursor C, CXString *language, CXString *definedIn, unsigned *isGenerated)
 Returns non-zero if the given cursor points to a symbol marked with external_source_symbol attribute.
 
CINDEX_LINKAGE CXSourceRange clang_Cursor_getCommentRange (CXCursor C)
 Given a cursor that represents a declaration, return the associated comment's source range.
 
CINDEX_LINKAGE CXString clang_Cursor_getRawCommentText (CXCursor C)
 Given a cursor that represents a declaration, return the associated comment text, including comment markers.
 
CINDEX_LINKAGE CXString clang_Cursor_getBriefCommentText (CXCursor C)
 Given a cursor that represents a documentable entity (e.g., declaration), return the associated.
 
CINDEX_LINKAGE CXString clang_Cursor_getMangling (CXCursor)
 Retrieve the CXString representing the mangled name of the cursor.
 
CINDEX_LINKAGE CXStringSetclang_Cursor_getCXXManglings (CXCursor)
 Retrieve the CXStrings representing the mangled symbols of the C++ constructor or destructor at the cursor.
 
CINDEX_LINKAGE CXStringSetclang_Cursor_getObjCManglings (CXCursor)
 Retrieve the CXStrings representing the mangled symbols of the ObjC class interface or implementation at the cursor.
 
CINDEX_LINKAGE CXModule clang_Cursor_getModule (CXCursor C)
 Given a CXCursor_ModuleImportDecl cursor, return the associated module.
 
CINDEX_LINKAGE CXModule clang_getModuleForFile (CXTranslationUnit, CXFile)
 Given a CXFile header file, return the module that contains it, if one exists.
 
CINDEX_LINKAGE CXFile clang_Module_getASTFile (CXModule Module)
 
CINDEX_LINKAGE CXModule clang_Module_getParent (CXModule Module)
 
CINDEX_LINKAGE CXString clang_Module_getName (CXModule Module)
 
CINDEX_LINKAGE CXString clang_Module_getFullName (CXModule Module)
 
CINDEX_LINKAGE int clang_Module_isSystem (CXModule Module)
 
CINDEX_LINKAGE unsigned clang_Module_getNumTopLevelHeaders (CXTranslationUnit, CXModule Module)
 
CINDEX_LINKAGE CXFile clang_Module_getTopLevelHeader (CXTranslationUnit, CXModule Module, unsigned Index)
 
CINDEX_LINKAGE unsigned clang_CXXConstructor_isConvertingConstructor (CXCursor C)
 Determine if a C++ constructor is a converting constructor.
 
CINDEX_LINKAGE unsigned clang_CXXConstructor_isCopyConstructor (CXCursor C)
 Determine if a C++ constructor is a copy constructor.
 
CINDEX_LINKAGE unsigned clang_CXXConstructor_isDefaultConstructor (CXCursor C)
 Determine if a C++ constructor is the default constructor.
 
CINDEX_LINKAGE unsigned clang_CXXConstructor_isMoveConstructor (CXCursor C)
 Determine if a C++ constructor is a move constructor.
 
CINDEX_LINKAGE unsigned clang_CXXField_isMutable (CXCursor C)
 Determine if a C++ field is declared 'mutable'.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isDefaulted (CXCursor C)
 Determine if a C++ method is declared '= default'.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isDeleted (CXCursor C)
 Determine if a C++ method is declared '= delete'.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isPureVirtual (CXCursor C)
 Determine if a C++ member function or member function template is pure virtual.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic (CXCursor C)
 Determine if a C++ member function or member function template is declared 'static'.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isVirtual (CXCursor C)
 Determine if a C++ member function or member function template is explicitly declared 'virtual' or if it overrides a virtual method from one of the base classes.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isCopyAssignmentOperator (CXCursor C)
 Determine if a C++ member function is a copy-assignment operator, returning 1 if such is the case and 0 otherwise.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isMoveAssignmentOperator (CXCursor C)
 Determine if a C++ member function is a move-assignment operator, returning 1 if such is the case and 0 otherwise.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isExplicit (CXCursor C)
 Determines if a C++ constructor or conversion function was declared explicit, returning 1 if such is the case and 0 otherwise.
 
CINDEX_LINKAGE unsigned clang_CXXRecord_isAbstract (CXCursor C)
 Determine if a C++ record is abstract, i.e.
 
CINDEX_LINKAGE unsigned clang_EnumDecl_isScoped (CXCursor C)
 Determine if an enum declaration refers to a scoped enum.
 
CINDEX_LINKAGE unsigned clang_CXXMethod_isConst (CXCursor C)
 Determine if a C++ member function or member function template is declared 'const'.
 
CINDEX_LINKAGE enum CXCursorKind clang_getTemplateCursorKind (CXCursor C)
 Given a cursor that represents a template, determine the cursor kind of the specializations would be generated by instantiating the template.
 
CINDEX_LINKAGE CXCursor clang_getSpecializedCursorTemplate (CXCursor C)
 Given a cursor that may represent a specialization or instantiation of a template, retrieve the cursor that represents the template that it specializes or from which it was instantiated.
 
CINDEX_LINKAGE CXSourceRange clang_getCursorReferenceNameRange (CXCursor C, unsigned NameFlags, unsigned PieceIndex)
 Given a cursor that references something else, return the source range covering that reference.
 
CINDEX_LINKAGE CXTokenclang_getToken (CXTranslationUnit TU, CXSourceLocation Location)
 Get the raw lexical token starting with the given location.
 
CINDEX_LINKAGE CXTokenKind clang_getTokenKind (CXToken)
 Determine the kind of the given token.
 
CINDEX_LINKAGE CXString clang_getTokenSpelling (CXTranslationUnit, CXToken)
 Determine the spelling of the given token.
 
CINDEX_LINKAGE CXSourceLocation clang_getTokenLocation (CXTranslationUnit, CXToken)
 Retrieve the source location of the given token.
 
CINDEX_LINKAGE CXSourceRange clang_getTokenExtent (CXTranslationUnit, CXToken)
 Retrieve a source range that covers the given token.
 
CINDEX_LINKAGE void clang_tokenize (CXTranslationUnit TU, CXSourceRange Range, CXToken **Tokens, unsigned *NumTokens)
 Tokenize the source code described by the given range into raw lexical tokens.
 
CINDEX_LINKAGE void clang_annotateTokens (CXTranslationUnit TU, CXToken *Tokens, unsigned NumTokens, CXCursor *Cursors)
 Annotate the given set of tokens by providing cursors for each token that can be mapped to a specific entity within the abstract syntax tree.
 
CINDEX_LINKAGE void clang_disposeTokens (CXTranslationUnit TU, CXToken *Tokens, unsigned NumTokens)
 Free the given set of tokens.
 
CINDEX_LINKAGE CXString clang_getCursorKindSpelling (enum CXCursorKind Kind)
 
CINDEX_LINKAGE void clang_getDefinitionSpellingAndExtent (CXCursor, const char **startBuf, const char **endBuf, unsigned *startLine, unsigned *startColumn, unsigned *endLine, unsigned *endColumn)
 
CINDEX_LINKAGE void clang_enableStackTraces (void)
 
CINDEX_LINKAGE void clang_executeOnThread (void(*fn)(void *), void *user_data, unsigned stack_size)
 
CINDEX_LINKAGE enum CXCompletionChunkKind clang_getCompletionChunkKind (CXCompletionString completion_string, unsigned chunk_number)
 Determine the kind of a particular chunk within a completion string.
 
CINDEX_LINKAGE CXString clang_getCompletionChunkText (CXCompletionString completion_string, unsigned chunk_number)
 Retrieve the text associated with a particular chunk within a completion string.
 
CINDEX_LINKAGE CXCompletionString clang_getCompletionChunkCompletionString (CXCompletionString completion_string, unsigned chunk_number)
 Retrieve the completion string associated with a particular chunk within a completion string.
 
CINDEX_LINKAGE unsigned clang_getNumCompletionChunks (CXCompletionString completion_string)
 Retrieve the number of chunks in the given code-completion string.
 
CINDEX_LINKAGE unsigned clang_getCompletionPriority (CXCompletionString completion_string)
 Determine the priority of this code completion.
 
CINDEX_LINKAGE enum CXAvailabilityKind clang_getCompletionAvailability (CXCompletionString completion_string)
 Determine the availability of the entity that this code-completion string refers to.
 
CINDEX_LINKAGE unsigned clang_getCompletionNumAnnotations (CXCompletionString completion_string)
 Retrieve the number of annotations associated with the given completion string.
 
CINDEX_LINKAGE CXString clang_getCompletionAnnotation (CXCompletionString completion_string, unsigned annotation_number)
 Retrieve the annotation associated with the given completion string.
 
CINDEX_LINKAGE CXString clang_getCompletionParent (CXCompletionString completion_string, enum CXCursorKind *kind)
 Retrieve the parent context of the given completion string.
 
CINDEX_LINKAGE CXString clang_getCompletionBriefComment (CXCompletionString completion_string)
 Retrieve the brief documentation comment attached to the declaration that corresponds to the given completion string.
 
CINDEX_LINKAGE CXCompletionString clang_getCursorCompletionString (CXCursor cursor)
 Retrieve a completion string for an arbitrary declaration or macro definition cursor.
 
CINDEX_LINKAGE unsigned clang_getCompletionNumFixIts (CXCodeCompleteResults *results, unsigned completion_index)
 Retrieve the number of fix-its for the given completion index.
 
CINDEX_LINKAGE CXString clang_getCompletionFixIt (CXCodeCompleteResults *results, unsigned completion_index, unsigned fixit_index, CXSourceRange *replacement_range)
 Fix-its that must be applied before inserting the text for the corresponding completion.
 
CINDEX_LINKAGE unsigned clang_defaultCodeCompleteOptions (void)
 Returns a default set of code-completion options that can be passed toclang_codeCompleteAt().
 
CINDEX_LINKAGE CXCodeCompleteResultsclang_codeCompleteAt (CXTranslationUnit TU, const char *complete_filename, unsigned complete_line, unsigned complete_column, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options)
 Perform code completion at a given location in a translation unit.
 
CINDEX_LINKAGE void clang_sortCodeCompletionResults (CXCompletionResult *Results, unsigned NumResults)
 Sort the code-completion results in case-insensitive alphabetical order.
 
CINDEX_LINKAGE void clang_disposeCodeCompleteResults (CXCodeCompleteResults *Results)
 Free the given set of code-completion results.
 
CINDEX_LINKAGE unsigned clang_codeCompleteGetNumDiagnostics (CXCodeCompleteResults *Results)
 Determine the number of diagnostics produced prior to the location where code completion was performed.
 
CINDEX_LINKAGE CXDiagnostic clang_codeCompleteGetDiagnostic (CXCodeCompleteResults *Results, unsigned Index)
 Retrieve a diagnostic associated with the given code completion.
 
CINDEX_LINKAGE unsigned long long clang_codeCompleteGetContexts (CXCodeCompleteResults *Results)
 Determines what completions are appropriate for the context the given code completion.
 
CINDEX_LINKAGE enum CXCursorKind clang_codeCompleteGetContainerKind (CXCodeCompleteResults *Results, unsigned *IsIncomplete)
 Returns the cursor kind for the container for the current code completion context.
 
CINDEX_LINKAGE CXString clang_codeCompleteGetContainerUSR (CXCodeCompleteResults *Results)
 Returns the USR for the container for the current code completion context.
 
CINDEX_LINKAGE CXString clang_codeCompleteGetObjCSelector (CXCodeCompleteResults *Results)
 Returns the currently-entered selector for an Objective-C message send, formatted like "initWithFoo:bar:".
 
CINDEX_LINKAGE CXString clang_getClangVersion (void)
 Return a version string, suitable for showing to a user, but not intended to be parsed (the format is not guaranteed to be stable).
 
CINDEX_LINKAGE void clang_toggleCrashRecovery (unsigned isEnabled)
 Enable/disable crash recovery.
 
CINDEX_LINKAGE void clang_getInclusions (CXTranslationUnit tu, CXInclusionVisitor visitor, CXClientData client_data)
 Visit the set of preprocessor inclusions in a translation unit.
 
CINDEX_LINKAGE CXEvalResult clang_Cursor_Evaluate (CXCursor C)
 If cursor is a statement declaration tries to evaluate the statement and if its variable, tries to evaluate its initializer, into its corresponding type.
 
CINDEX_LINKAGE CXEvalResultKind clang_EvalResult_getKind (CXEvalResult E)
 Returns the kind of the evaluated result.
 
CINDEX_LINKAGE int clang_EvalResult_getAsInt (CXEvalResult E)
 Returns the evaluation result as integer if the kind is Int.
 
CINDEX_LINKAGE long long clang_EvalResult_getAsLongLong (CXEvalResult E)
 Returns the evaluation result as a long long integer if the kind is Int.
 
CINDEX_LINKAGE unsigned clang_EvalResult_isUnsignedInt (CXEvalResult E)
 Returns a non-zero value if the kind is Int and the evaluation result resulted in an unsigned integer.
 
CINDEX_LINKAGE unsigned long long clang_EvalResult_getAsUnsigned (CXEvalResult E)
 Returns the evaluation result as an unsigned integer if the kind is Int and clang_EvalResult_isUnsignedInt is non-zero.
 
CINDEX_LINKAGE double clang_EvalResult_getAsDouble (CXEvalResult E)
 Returns the evaluation result as double if the kind is double.
 
CINDEX_LINKAGE const char * clang_EvalResult_getAsStr (CXEvalResult E)
 Returns the evaluation result as a constant string if the kind is other than Int or float.
 
CINDEX_LINKAGE void clang_EvalResult_dispose (CXEvalResult E)
 Disposes the created Eval memory.
 
CINDEX_LINKAGE CXRemapping clang_getRemappings (const char *path)
 Retrieve a remapping.
 
CINDEX_LINKAGE CXRemapping clang_getRemappingsFromFileList (const char **filePaths, unsigned numFiles)
 Retrieve a remapping.
 
CINDEX_LINKAGE unsigned clang_remap_getNumFiles (CXRemapping)
 Determine the number of remappings.
 
CINDEX_LINKAGE void clang_remap_getFilenames (CXRemapping, unsigned index, CXString *original, CXString *transformed)
 Get the original and the associated filename from the remapping.
 
CINDEX_LINKAGE void clang_remap_dispose (CXRemapping)
 Dispose the remapping.
 
CINDEX_LINKAGE CXResult clang_findReferencesInFile (CXCursor cursor, CXFile file, CXCursorAndRangeVisitor visitor)
 Find references of a declaration in a specific file.
 
CINDEX_LINKAGE CXResult clang_findIncludesInFile (CXTranslationUnit TU, CXFile file, CXCursorAndRangeVisitor visitor)
 Find #import/#include directives in a specific file.
 
CINDEX_LINKAGE CXResult clang_findReferencesInFileWithBlock (CXCursor, CXFile, CXCursorAndRangeVisitorBlock)
 
CINDEX_LINKAGE CXResult clang_findIncludesInFileWithBlock (CXTranslationUnit, CXFile, CXCursorAndRangeVisitorBlock)
 
CINDEX_LINKAGE int clang_index_isEntityObjCContainerKind (CXIdxEntityKind)
 
CINDEX_LINKAGE const CXIdxObjCContainerDeclInfoclang_index_getObjCContainerDeclInfo (const CXIdxDeclInfo *)
 
CINDEX_LINKAGE const CXIdxObjCInterfaceDeclInfoclang_index_getObjCInterfaceDeclInfo (const CXIdxDeclInfo *)
 
CINDEX_LINKAGE const CXIdxObjCCategoryDeclInfoclang_index_getObjCCategoryDeclInfo (const CXIdxDeclInfo *)
 
CINDEX_LINKAGE const CXIdxObjCProtocolRefListInfoclang_index_getObjCProtocolRefListInfo (const CXIdxDeclInfo *)
 
CINDEX_LINKAGE const CXIdxObjCPropertyDeclInfoclang_index_getObjCPropertyDeclInfo (const CXIdxDeclInfo *)
 
CINDEX_LINKAGE const CXIdxIBOutletCollectionAttrInfoclang_index_getIBOutletCollectionAttrInfo (const CXIdxAttrInfo *)
 
CINDEX_LINKAGE const CXIdxCXXClassDeclInfoclang_index_getCXXClassDeclInfo (const CXIdxDeclInfo *)
 
CINDEX_LINKAGE CXIdxClientContainer clang_index_getClientContainer (const CXIdxContainerInfo *)
 For retrieving a custom CXIdxClientContainer attached to a container.
 
CINDEX_LINKAGE void clang_index_setClientContainer (const CXIdxContainerInfo *, CXIdxClientContainer)
 For setting a custom CXIdxClientContainer attached to a container.
 
CINDEX_LINKAGE CXIdxClientEntity clang_index_getClientEntity (const CXIdxEntityInfo *)
 For retrieving a custom CXIdxClientEntity attached to an entity.
 
CINDEX_LINKAGE void clang_index_setClientEntity (const CXIdxEntityInfo *, CXIdxClientEntity)
 For setting a custom CXIdxClientEntity attached to an entity.
 
CINDEX_LINKAGE CXIndexAction clang_IndexAction_create (CXIndex CIdx)
 An indexing action/session, to be applied to one or multiple translation units.
 
CINDEX_LINKAGE void clang_IndexAction_dispose (CXIndexAction)
 Destroy the given index action.
 
CINDEX_LINKAGE int clang_indexSourceFile (CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, unsigned index_callbacks_size, unsigned index_options, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options)
 Index the given source file and the translation unit corresponding to that file via callbacks implemented through IndexerCallbacks.
 
CINDEX_LINKAGE int clang_indexSourceFileFullArgv (CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, unsigned index_callbacks_size, unsigned index_options, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options)
 Same as clang_indexSourceFile but requires a full command line for command_line_args including argv[0].
 
CINDEX_LINKAGE int clang_indexTranslationUnit (CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, unsigned index_callbacks_size, unsigned index_options, CXTranslationUnit)
 Index the given translation unit via callbacks implemented through IndexerCallbacks.
 
CINDEX_LINKAGE void clang_indexLoc_getFileLocation (CXIdxLoc loc, CXIdxClientFile *indexFile, CXFile *file, unsigned *line, unsigned *column, unsigned *offset)
 Retrieve the CXIdxFile, file, line, column, and offset represented by the given CXIdxLoc.
 
CINDEX_LINKAGE CXSourceLocation clang_indexLoc_getCXSourceLocation (CXIdxLoc loc)
 Retrieve the CXSourceLocation represented by the given CXIdxLoc.
 
CINDEX_LINKAGE unsigned clang_Type_visitFields (CXType T, CXFieldVisitor visitor, CXClientData client_data)
 Visit the fields of a particular type.
 
CINDEX_LINKAGE CXString clang_getBinaryOperatorKindSpelling (enum CXBinaryOperatorKind kind)
 Retrieve the spelling of a given CXBinaryOperatorKind.
 
CINDEX_LINKAGE enum CXBinaryOperatorKind clang_getCursorBinaryOperatorKind (CXCursor cursor)
 Retrieve the binary operator kind of this cursor.
 
CINDEX_LINKAGE CXString clang_getUnaryOperatorKindSpelling (enum CXUnaryOperatorKind kind)
 Retrieve the spelling of a given CXUnaryOperatorKind.
 
CINDEX_LINKAGE enum CXUnaryOperatorKind clang_getCursorUnaryOperatorKind (CXCursor cursor)
 Retrieve the unary operator kind of this cursor.
 

Macro Definition Documentation

◆ __has_feature

#define __has_feature (   feature)    0

Definition at line 52 of file Index.h.

◆ CINDEX_VERSION

Definition at line 41 of file Index.h.

◆ CINDEX_VERSION_ENCODE

#define CINDEX_VERSION_ENCODE (   major,
  minor 
)    (((major)*10000) + ((minor)*1))

Definition at line 39 of file Index.h.

◆ CINDEX_VERSION_MAJOR

#define CINDEX_VERSION_MAJOR   0

The version constants for the libclang API.

CINDEX_VERSION_MINOR should increase when there are API additions. CINDEX_VERSION_MAJOR is intended for "major" source/ABI breaking changes.

The policy about the libclang API was always to keep it source and ABI compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.

Definition at line 36 of file Index.h.

◆ CINDEX_VERSION_MINOR

#define CINDEX_VERSION_MINOR   64

Definition at line 37 of file Index.h.

◆ CINDEX_VERSION_STRING

Definition at line 48 of file Index.h.

◆ CINDEX_VERSION_STRINGIZE

#define CINDEX_VERSION_STRINGIZE (   major,
  minor 
)     CINDEX_VERSION_STRINGIZE_(major, minor)

Definition at line 45 of file Index.h.

◆ CINDEX_VERSION_STRINGIZE_

#define CINDEX_VERSION_STRINGIZE_ (   major,
  minor 
)    #major "." #minor

Definition at line 44 of file Index.h.