Describes the kind of entity that a cursor refers to.
Enumerator CXCursor_UnexposedDeclA declaration whose specific kind is not exposed via this interface.
Unexposed declarations have the same operations as any other kind of declaration; one can extract their location information, spelling, find their definitions, etc. However, the specific kind of the declaration is not reported.
CXCursor_StructDeclA C or C++ struct.
CXCursor_UnionDeclA C or C++ union.
CXCursor_ClassDeclA C++ class.
CXCursor_EnumDeclAn enumeration.
CXCursor_FieldDeclA field (in C) or non-static data member (in C++) in a struct, union, or C++ class.
CXCursor_EnumConstantDeclAn enumerator constant.
CXCursor_FunctionDeclA function.
CXCursor_VarDeclA variable.
CXCursor_ParmDeclA function or method parameter.
CXCursor_ObjCInterfaceDeclAn Objective-C @interface.
CXCursor_ObjCCategoryDeclAn Objective-C @interface for a category.
CXCursor_ObjCProtocolDeclAn Objective-C @protocol declaration.
CXCursor_ObjCPropertyDeclAn Objective-C @property declaration.
CXCursor_ObjCIvarDeclAn Objective-C instance variable.
CXCursor_ObjCInstanceMethodDeclAn Objective-C instance method.
CXCursor_ObjCClassMethodDeclAn Objective-C class method.
CXCursor_ObjCImplementationDeclAn Objective-C @implementation.
CXCursor_ObjCCategoryImplDeclAn Objective-C @implementation for a category.
CXCursor_TypedefDeclA typedef.
CXCursor_CXXMethodA C++ class method.
CXCursor_NamespaceA C++ namespace.
CXCursor_LinkageSpecA linkage specification, e.g.
'extern "C"'.
CXCursor_ConstructorA C++ constructor.
CXCursor_DestructorA C++ destructor.
CXCursor_ConversionFunctionA C++ conversion function.
CXCursor_TemplateTypeParameterA C++ template type parameter.
CXCursor_NonTypeTemplateParameterA C++ non-type template parameter.
CXCursor_TemplateTemplateParameterA C++ template template parameter.
CXCursor_FunctionTemplateA C++ function template.
CXCursor_ClassTemplateA C++ class template.
CXCursor_ClassTemplatePartialSpecializationA C++ class template partial specialization.
CXCursor_NamespaceAliasA C++ namespace alias declaration.
CXCursor_UsingDirectiveA C++ using directive.
CXCursor_UsingDeclarationA C++ using declaration.
CXCursor_TypeAliasDeclA C++ alias declaration.
CXCursor_ObjCSynthesizeDeclAn Objective-C @synthesize definition.
CXCursor_ObjCDynamicDeclAn Objective-C @dynamic definition.
CXCursor_CXXAccessSpecifierAn access specifier.
CXCursor_FirstDecl CXCursor_LastDecl CXCursor_FirstRef CXCursor_ObjCSuperClassRef CXCursor_ObjCProtocolRef CXCursor_ObjCClassRef CXCursor_TypeRefA reference to a type declaration.
A type reference occurs anywhere where a type is named but not declared. For example, given:
typedef unsigned size_type;
size_type size;
The typedef is a declaration of size_type (CXCursor_TypedefDecl), while the type of the variable "size" is referenced. The cursor referenced by the type of size is the typedef for size_type.
CXCursor_CXXBaseSpecifier CXCursor_TemplateRefA reference to a class template, function template, template template parameter, or class template partial specialization.
CXCursor_NamespaceRefA reference to a namespace or namespace alias.
CXCursor_MemberRefA reference to a member of a struct, union, or class that occurs in some non-expression context, e.g., a designated initializer.
CXCursor_LabelRefA reference to a labeled statement.
This cursor kind is used to describe the jump to "start_over" in the goto statement in the following example:
start_over:
++counter;
goto start_over;
A label reference cursor refers to a label statement.
CXCursor_OverloadedDeclRefA reference to a set of overloaded functions or function templates that has not yet been resolved to a specific function or function template.
An overloaded declaration reference cursor occurs in C++ templates where a dependent name refers to a function. For example:
template<typename T> void swap(T&, T&);
struct X { ... };
void swap(X&, X&);
template<typename T>
void reverse(T* first, T* last) {
while (first < last - 1) {
swap(*first, *--last);
++first;
}
}
struct Y { };
void swap(Y&, Y&);
Here, the identifier "swap" is associated with an overloaded declaration reference. In the template definition, "swap" refers to either of the two "swap" functions declared above, so both results will be available. At instantiation time, "swap" may also refer to other functions found via argument-dependent lookup (e.g., the "swap" function at the end of the example).
The functions clang_getNumOverloadedDecls()
and clang_getOverloadedDecl()
can be used to retrieve the definitions referenced by this cursor.
A reference to a variable that occurs in some non-expression context, e.g., a C++ lambda capture list.
CXCursor_LastRef CXCursor_FirstInvalid CXCursor_InvalidFile CXCursor_NoDeclFound CXCursor_NotImplemented CXCursor_InvalidCode CXCursor_LastInvalid CXCursor_FirstExpr CXCursor_UnexposedExprAn expression whose specific kind is not exposed via this interface.
Unexposed expressions have the same operations as any other kind of expression; one can extract their location information, spelling, children, etc. However, the specific kind of the expression is not reported.
CXCursor_DeclRefExprAn expression that refers to some value declaration, such as a function, variable, or enumerator.
CXCursor_MemberRefExprAn expression that refers to a member of a struct, union, class, Objective-C class, etc.
CXCursor_CallExprAn expression that calls a function.
CXCursor_ObjCMessageExprAn expression that sends a message to an Objective-C object or class.
CXCursor_BlockExprAn expression that represents a block literal.
CXCursor_IntegerLiteralAn integer literal.
CXCursor_FloatingLiteralA floating point number literal.
CXCursor_ImaginaryLiteralAn imaginary number literal.
CXCursor_StringLiteralA string literal.
CXCursor_CharacterLiteralA character literal.
CXCursor_ParenExprA parenthesized expression, e.g.
"(1)".
This AST node is only formed if full location information is requested.
CXCursor_UnaryOperatorThis represents the unary-expression's (except sizeof and alignof).
CXCursor_ArraySubscriptExpr[C99 6.5.2.1] Array Subscripting.
CXCursor_BinaryOperatorA builtin binary operation expression such as "x + y" or "x <= y".
CXCursor_CompoundAssignOperatorCompound assignment such as "+=".
CXCursor_ConditionalOperatorThe ?: ternary operator.
CXCursor_CStyleCastExprAn explicit cast in C (C99 6.5.4) or a C-style cast in C++ (C++ [expr.cast]), which uses the syntax (Type)expr.
For example: (int)f.
CXCursor_CompoundLiteralExpr[C99 6.5.2.5]
CXCursor_InitListExprDescribes an C or C++ initializer list.
CXCursor_AddrLabelExprThe GNU address of label extension, representing &&label.
CXCursor_StmtExprThis is the GNU Statement Expression extension: ({int X=4; X;})
CXCursor_GenericSelectionExprRepresents a C11 generic selection.
CXCursor_GNUNullExprImplements the GNU __null extension, which is a name for a null pointer constant that has integral type (e.g., int or long) and is the same size and alignment as a pointer.
The __null extension is typically only used by system headers, which define NULL as __null in C++ rather than using 0 (which is an integer that may not match the size of a pointer).
CXCursor_CXXStaticCastExprC++'s static_cast<> expression.
CXCursor_CXXDynamicCastExprC++'s dynamic_cast<> expression.
CXCursor_CXXReinterpretCastExprC++'s reinterpret_cast<> expression.
CXCursor_CXXConstCastExprC++'s const_cast<> expression.
CXCursor_CXXFunctionalCastExprRepresents an explicit C++ type conversion that uses "functional" notion (C++ [expr.type.conv]).
Example:
CXCursor_CXXTypeidExprA C++ typeid expression (C++ [expr.typeid]).
CXCursor_CXXBoolLiteralExpr[C++ 2.13.5] C++ Boolean Literal.
CXCursor_CXXNullPtrLiteralExpr[C++0x 2.14.7] C++ Pointer Literal.
CXCursor_CXXThisExprRepresents the "this" expression in C++.
CXCursor_CXXThrowExpr[C++ 15] C++ Throw Expression.
This handles 'throw' and 'throw' assignment-expression. When assignment-expression isn't present, Op will be null.
CXCursor_CXXNewExprA new expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)".
CXCursor_CXXDeleteExprA delete expression for memory deallocation and destructor calls, e.g.
"delete[] pArray".
CXCursor_UnaryExprA unary expression.
(noexcept, sizeof, or other traits)
CXCursor_ObjCStringLiteralAn Objective-C string literal i.e.
"foo".
CXCursor_ObjCEncodeExprAn Objective-C @encode expression.
CXCursor_ObjCSelectorExprAn Objective-C @selector expression.
CXCursor_ObjCProtocolExprAn Objective-C @protocol expression.
CXCursor_ObjCBridgedCastExprAn Objective-C "bridged" cast expression, which casts between Objective-C pointers and C pointers, transferring ownership in the process.
NSString *str = (__bridge_transfer NSString *)CFCreateString();
CXCursor_PackExpansionExprRepresents a C++0x pack expansion that produces a sequence of expressions.
A pack expansion expression contains a pattern (which itself is an expression) followed by an ellipsis. For example:
template<typename F, typename ...Types>
void forward(F f, Types &&...args) {
f(static_cast<Types&&>(args)...);
}
CXCursor_SizeOfPackExprRepresents an expression that computes the length of a parameter pack.
template<typename ...Types>
struct count {
static const unsigned value = sizeof...(Types);
};
CXCursor_LambdaExpr CXCursor_ObjCBoolLiteralExprObjective-c Boolean Literal.
CXCursor_ObjCSelfExprRepresents the "self" expression in an Objective-C method.
CXCursor_ArraySectionExprOpenMP 5.0 [2.1.5, Array Section].
OpenACC 3.3 [2.7.1, Data Specification for Data Clauses (Sub Arrays)]
CXCursor_ObjCAvailabilityCheckExprRepresents an @available(...) check.
CXCursor_FixedPointLiteralFixed point literal.
CXCursor_OMPArrayShapingExprOpenMP 5.0 [2.1.4, Array Shaping].
CXCursor_OMPIteratorExprOpenMP 5.0 [2.1.6 Iterators].
CXCursor_CXXAddrspaceCastExprOpenCL's addrspace_cast<> expression.
CXCursor_ConceptSpecializationExprExpression that references a C++20 concept.
CXCursor_RequiresExprExpression that references a C++20 requires expression.
CXCursor_CXXParenListInitExprExpression that references a C++20 parenthesized list aggregate initializer.
CXCursor_PackIndexingExprRepresents a C++26 pack indexing expression.
CXCursor_LastExpr CXCursor_FirstStmt CXCursor_UnexposedStmtA statement whose specific kind is not exposed via this interface.
Unexposed statements have the same operations as any other kind of statement; one can extract their location information, spelling, children, etc. However, the specific kind of the statement is not reported.
CXCursor_LabelStmtA labelled statement in a function.
This cursor kind is used to describe the "start_over:" label statement in the following example:
CXCursor_CompoundStmtA group of statements like { stmt stmt }.
This cursor kind is used to describe compound statements, e.g. function bodies.
CXCursor_CaseStmtA case statement.
CXCursor_DefaultStmtA default statement.
CXCursor_IfStmtAn if statement.
CXCursor_SwitchStmtA switch statement.
CXCursor_WhileStmtA while statement.
CXCursor_DoStmtA do statement.
CXCursor_ForStmtA for statement.
CXCursor_GotoStmtA goto statement.
CXCursor_IndirectGotoStmtAn indirect goto statement.
CXCursor_ContinueStmtA continue statement.
CXCursor_BreakStmtA break statement.
CXCursor_ReturnStmtA return statement.
CXCursor_GCCAsmStmtA GCC inline assembly statement extension.
CXCursor_AsmStmt CXCursor_ObjCAtTryStmtObjective-C's overall @try-@catch-@finally statement.
CXCursor_ObjCAtCatchStmtObjective-C's @catch statement.
CXCursor_ObjCAtFinallyStmtObjective-C's @finally statement.
CXCursor_ObjCAtThrowStmtObjective-C's @throw statement.
CXCursor_ObjCAtSynchronizedStmtObjective-C's @synchronized statement.
CXCursor_ObjCAutoreleasePoolStmtObjective-C's autorelease pool statement.
CXCursor_ObjCForCollectionStmtObjective-C's collection statement.
CXCursor_CXXCatchStmtC++'s catch statement.
CXCursor_CXXTryStmtC++'s try statement.
CXCursor_CXXForRangeStmtC++'s for (* : *) statement.
CXCursor_SEHTryStmtWindows Structured Exception Handling's try statement.
CXCursor_SEHExceptStmtWindows Structured Exception Handling's except statement.
CXCursor_SEHFinallyStmtWindows Structured Exception Handling's finally statement.
CXCursor_MSAsmStmtA MS inline assembly statement extension.
CXCursor_NullStmtThe null statement ";": C99 6.8.3p3.
This cursor kind is used to describe the null statement.
CXCursor_DeclStmtAdaptor class for mixing declarations with statements and expressions.
CXCursor_OMPParallelDirectiveOpenMP parallel directive.
CXCursor_OMPSimdDirectiveOpenMP SIMD directive.
CXCursor_OMPForDirectiveOpenMP for directive.
CXCursor_OMPSectionsDirectiveOpenMP sections directive.
CXCursor_OMPSectionDirectiveOpenMP section directive.
CXCursor_OMPSingleDirectiveOpenMP single directive.
CXCursor_OMPParallelForDirectiveOpenMP parallel for directive.
CXCursor_OMPParallelSectionsDirectiveOpenMP parallel sections directive.
CXCursor_OMPTaskDirectiveOpenMP task directive.
CXCursor_OMPMasterDirectiveOpenMP master directive.
CXCursor_OMPCriticalDirectiveOpenMP critical directive.
CXCursor_OMPTaskyieldDirectiveOpenMP taskyield directive.
CXCursor_OMPBarrierDirectiveOpenMP barrier directive.
CXCursor_OMPTaskwaitDirectiveOpenMP taskwait directive.
CXCursor_OMPFlushDirectiveOpenMP flush directive.
CXCursor_SEHLeaveStmtWindows Structured Exception Handling's leave statement.
CXCursor_OMPOrderedDirectiveOpenMP ordered directive.
CXCursor_OMPAtomicDirectiveOpenMP atomic directive.
CXCursor_OMPForSimdDirectiveOpenMP for SIMD directive.
CXCursor_OMPParallelForSimdDirectiveOpenMP parallel for SIMD directive.
CXCursor_OMPTargetDirectiveOpenMP target directive.
CXCursor_OMPTeamsDirectiveOpenMP teams directive.
CXCursor_OMPTaskgroupDirectiveOpenMP taskgroup directive.
CXCursor_OMPCancellationPointDirectiveOpenMP cancellation point directive.
CXCursor_OMPCancelDirectiveOpenMP cancel directive.
CXCursor_OMPTargetDataDirectiveOpenMP target data directive.
CXCursor_OMPTaskLoopDirectiveOpenMP taskloop directive.
CXCursor_OMPTaskLoopSimdDirectiveOpenMP taskloop simd directive.
CXCursor_OMPDistributeDirectiveOpenMP distribute directive.
CXCursor_OMPTargetEnterDataDirectiveOpenMP target enter data directive.
CXCursor_OMPTargetExitDataDirectiveOpenMP target exit data directive.
CXCursor_OMPTargetParallelDirectiveOpenMP target parallel directive.
CXCursor_OMPTargetParallelForDirectiveOpenMP target parallel for directive.
CXCursor_OMPTargetUpdateDirectiveOpenMP target update directive.
CXCursor_OMPDistributeParallelForDirectiveOpenMP distribute parallel for directive.
CXCursor_OMPDistributeParallelForSimdDirectiveOpenMP distribute parallel for simd directive.
CXCursor_OMPDistributeSimdDirectiveOpenMP distribute simd directive.
CXCursor_OMPTargetParallelForSimdDirectiveOpenMP target parallel for simd directive.
CXCursor_OMPTargetSimdDirectiveOpenMP target simd directive.
CXCursor_OMPTeamsDistributeDirectiveOpenMP teams distribute directive.
CXCursor_OMPTeamsDistributeSimdDirectiveOpenMP teams distribute simd directive.
CXCursor_OMPTeamsDistributeParallelForSimdDirectiveOpenMP teams distribute parallel for simd directive.
CXCursor_OMPTeamsDistributeParallelForDirectiveOpenMP teams distribute parallel for directive.
CXCursor_OMPTargetTeamsDirectiveOpenMP target teams directive.
CXCursor_OMPTargetTeamsDistributeDirectiveOpenMP target teams distribute directive.
CXCursor_OMPTargetTeamsDistributeParallelForDirectiveOpenMP target teams distribute parallel for directive.
CXCursor_OMPTargetTeamsDistributeParallelForSimdDirectiveOpenMP target teams distribute parallel for simd directive.
CXCursor_OMPTargetTeamsDistributeSimdDirectiveOpenMP target teams distribute simd directive.
CXCursor_BuiltinBitCastExprC++2a std::bit_cast expression.
CXCursor_OMPMasterTaskLoopDirectiveOpenMP master taskloop directive.
CXCursor_OMPParallelMasterTaskLoopDirectiveOpenMP parallel master taskloop directive.
CXCursor_OMPMasterTaskLoopSimdDirectiveOpenMP master taskloop simd directive.
CXCursor_OMPParallelMasterTaskLoopSimdDirectiveOpenMP parallel master taskloop simd directive.
CXCursor_OMPParallelMasterDirectiveOpenMP parallel master directive.
CXCursor_OMPDepobjDirectiveOpenMP depobj directive.
CXCursor_OMPScanDirectiveOpenMP scan directive.
CXCursor_OMPTileDirectiveOpenMP tile directive.
CXCursor_OMPCanonicalLoopOpenMP canonical loop.
CXCursor_OMPInteropDirectiveOpenMP interop directive.
CXCursor_OMPDispatchDirectiveOpenMP dispatch directive.
CXCursor_OMPMaskedDirectiveOpenMP masked directive.
CXCursor_OMPUnrollDirectiveOpenMP unroll directive.
CXCursor_OMPMetaDirectiveOpenMP metadirective directive.
CXCursor_OMPGenericLoopDirectiveOpenMP loop directive.
CXCursor_OMPTeamsGenericLoopDirectiveOpenMP teams loop directive.
CXCursor_OMPTargetTeamsGenericLoopDirectiveOpenMP target teams loop directive.
CXCursor_OMPParallelGenericLoopDirectiveOpenMP parallel loop directive.
CXCursor_OMPTargetParallelGenericLoopDirectiveOpenMP target parallel loop directive.
CXCursor_OMPParallelMaskedDirectiveOpenMP parallel masked directive.
CXCursor_OMPMaskedTaskLoopDirectiveOpenMP masked taskloop directive.
CXCursor_OMPMaskedTaskLoopSimdDirectiveOpenMP masked taskloop simd directive.
CXCursor_OMPParallelMaskedTaskLoopDirectiveOpenMP parallel masked taskloop directive.
CXCursor_OMPParallelMaskedTaskLoopSimdDirectiveOpenMP parallel masked taskloop simd directive.
CXCursor_OMPErrorDirectiveOpenMP error directive.
CXCursor_OMPScopeDirectiveOpenMP scope directive.
CXCursor_OMPReverseDirectiveOpenMP reverse directive.
CXCursor_OMPInterchangeDirectiveOpenMP interchange directive.
CXCursor_OMPAssumeDirectiveOpenMP assume directive.
CXCursor_OpenACCComputeConstructOpenACC Compute Construct.
CXCursor_OpenACCLoopConstructOpenACC Loop Construct.
CXCursor_OpenACCCombinedConstructOpenACC Combined Constructs.
CXCursor_OpenACCDataConstructOpenACC data Construct.
CXCursor_OpenACCEnterDataConstructOpenACC enter data Construct.
CXCursor_OpenACCExitDataConstructOpenACC exit data Construct.
CXCursor_OpenACCHostDataConstructOpenACC host_data Construct.
CXCursor_OpenACCWaitConstructOpenACC wait Construct.
CXCursor_OpenACCInitConstructOpenACC init Construct.
CXCursor_OpenACCShutdownConstructOpenACC shutdown Construct.
CXCursor_OpenACCSetConstructOpenACC set Construct.
CXCursor_OpenACCUpdateConstructOpenACC update Construct.
CXCursor_LastStmt CXCursor_TranslationUnitCursor that represents the translation unit itself.
The translation unit cursor exists primarily to act as the root cursor for traversing the contents of a translation unit.
CXCursor_FirstAttr CXCursor_UnexposedAttrAn attribute whose specific kind is not exposed via this interface.
CXCursor_IBActionAttr CXCursor_IBOutletAttr CXCursor_IBOutletCollectionAttr CXCursor_CXXFinalAttr CXCursor_CXXOverrideAttr CXCursor_AnnotateAttr CXCursor_AsmLabelAttr CXCursor_PackedAttr CXCursor_PureAttr CXCursor_ConstAttr CXCursor_NoDuplicateAttr CXCursor_CUDAConstantAttr CXCursor_CUDADeviceAttr CXCursor_CUDAGlobalAttr CXCursor_CUDAHostAttr CXCursor_CUDASharedAttr CXCursor_VisibilityAttr CXCursor_DLLExport CXCursor_DLLImport CXCursor_NSReturnsRetained CXCursor_NSReturnsNotRetained CXCursor_NSReturnsAutoreleased CXCursor_NSConsumesSelf CXCursor_NSConsumed CXCursor_ObjCException CXCursor_ObjCNSObject CXCursor_ObjCIndependentClass CXCursor_ObjCPreciseLifetime CXCursor_ObjCReturnsInnerPointer CXCursor_ObjCRequiresSuper CXCursor_ObjCRootClass CXCursor_ObjCSubclassingRestricted CXCursor_ObjCExplicitProtocolImpl CXCursor_ObjCDesignatedInitializer CXCursor_ObjCRuntimeVisible CXCursor_ObjCBoxable CXCursor_FlagEnum CXCursor_ConvergentAttr CXCursor_WarnUnusedAttr CXCursor_WarnUnusedResultAttr CXCursor_AlignedAttr CXCursor_LastAttr CXCursor_PreprocessingDirective CXCursor_MacroDefinition CXCursor_MacroExpansion CXCursor_MacroInstantiation CXCursor_InclusionDirective CXCursor_FirstPreprocessing CXCursor_LastPreprocessing CXCursor_ModuleImportDeclA module import declaration.
CXCursor_TypeAliasTemplateDecl CXCursor_StaticAssertA static_assert or _Static_assert node.
CXCursor_FriendDecla friend declaration.
CXCursor_ConceptDecla concept declaration.
CXCursor_FirstExtraDecl CXCursor_LastExtraDecl CXCursor_OverloadCandidateA code completion overload candidate.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4