clang_Type_getSizeOf
, clang_Type_getAlignOf
, clang_Type_getOffsetOf
, clang_Cursor_getOffsetOf
, and clang_getOffsetOfBase
. More...
T
is not a template specialization.
CXCursor_OverloadedDeclRef
cursor.
CXCursor_OverloadedDeclRef
cursor.
Represents a specific kind of binary operator which can appear at a cursor.
Enumerator CX_BO_Invalid CX_BO_PtrMemD CX_BO_PtrMemI CX_BO_Mul CX_BO_Div CX_BO_Rem CX_BO_Add CX_BO_Sub CX_BO_Shl CX_BO_Shr CX_BO_Cmp CX_BO_LT CX_BO_GT CX_BO_LE CX_BO_GE CX_BO_EQ CX_BO_NE CX_BO_And CX_BO_Xor CX_BO_Or CX_BO_LAnd CX_BO_LOr CX_BO_Assign CX_BO_MulAssign CX_BO_DivAssign CX_BO_RemAssign CX_BO_AddAssign CX_BO_SubAssign CX_BO_ShlAssign CX_BO_ShrAssign CX_BO_AndAssign CX_BO_XorAssign CX_BO_OrAssign CX_BO_Comma CX_BO_LASTDefinition at line 3821 of file Index.h.
◆ CX_CXXAccessSpecifierRepresents the C++ access control level to a base class for a cursor with kind CX_CXXBaseSpecifier.
Enumerator CX_CXXInvalidAccessSpecifier CX_CXXPublic CX_CXXProtected CX_CXXPrivateDefinition at line 3787 of file Index.h.
◆ CX_StorageClassRepresents the storage classes as declared in the source.
CX_SC_Invalid was added for the case that the passed cursor in not a declaration.
Enumerator CX_SC_Invalid CX_SC_None CX_SC_Extern CX_SC_Static CX_SC_PrivateExtern CX_SC_OpenCLWorkGroupLocal CX_SC_Auto CX_SC_RegisterDefinition at line 3807 of file Index.h.
◆ CXCallingConvDescribes the calling convention of a function type.
Enumerator CXCallingConv_Default CXCallingConv_C CXCallingConv_X86StdCall CXCallingConv_X86FastCall CXCallingConv_X86ThisCall CXCallingConv_X86Pascal CXCallingConv_AAPCS CXCallingConv_AAPCS_VFP CXCallingConv_X86RegCall CXCallingConv_IntelOclBicc CXCallingConv_Win64 CXCallingConv_X86_64Win64 CXCallingConv_X86_64SysV CXCallingConv_X86VectorCall CXCallingConv_Swift CXCallingConv_PreserveMost CXCallingConv_PreserveAll CXCallingConv_AArch64VectorCall CXCallingConv_SwiftAsync CXCallingConv_AArch64SVEPCS CXCallingConv_M68kRTD CXCallingConv_PreserveNone CXCallingConv_RISCVVectorCall CXCallingConv_Invalid CXCallingConv_UnexposedDefinition at line 3031 of file Index.h.
◆ CXRefQualifierKind Enumerator CXRefQualifier_NoneNo ref-qualifier was provided.
CXRefQualifier_LValueAn lvalue ref-qualifier was provided (&
).
An rvalue ref-qualifier was provided (&&
).
Definition at line 3735 of file Index.h.
◆ CXTemplateArgumentKindDescribes the kind of a template argument.
See the definition of llvm::clang::TemplateArgument::ArgKind for full element descriptions.
Enumerator CXTemplateArgumentKind_Null CXTemplateArgumentKind_Type CXTemplateArgumentKind_Declaration CXTemplateArgumentKind_NullPtr CXTemplateArgumentKind_Integral CXTemplateArgumentKind_Template CXTemplateArgumentKind_TemplateExpansion CXTemplateArgumentKind_Expression CXTemplateArgumentKind_Pack CXTemplateArgumentKind_InvalidDefinition at line 3167 of file Index.h.
◆ CXTypeKindDescribes the kind of type.
Enumerator CXType_InvalidRepresents an invalid type (e.g., where no type is available).
CXType_UnexposedA type whose specific kind is not exposed via this interface.
CXType_Void CXType_Bool CXType_Char_U CXType_UChar CXType_Char16 CXType_Char32 CXType_UShort CXType_UInt CXType_ULong CXType_ULongLong CXType_UInt128 CXType_Char_S CXType_SChar CXType_WChar CXType_Short CXType_Int CXType_Long CXType_LongLong CXType_Int128 CXType_Float CXType_Double CXType_LongDouble CXType_NullPtr CXType_Overload CXType_Dependent CXType_ObjCId CXType_ObjCClass CXType_ObjCSel CXType_Float128 CXType_Half CXType_Float16 CXType_ShortAccum CXType_Accum CXType_LongAccum CXType_UShortAccum CXType_UAccum CXType_ULongAccum CXType_BFloat16 CXType_Ibm128 CXType_FirstBuiltin CXType_LastBuiltin CXType_Complex CXType_Pointer CXType_BlockPointer CXType_LValueReference CXType_RValueReference CXType_Record CXType_Enum CXType_Typedef CXType_ObjCInterface CXType_ObjCObjectPointer CXType_FunctionNoProto CXType_FunctionProto CXType_ConstantArray CXType_Vector CXType_IncompleteArray CXType_VariableArray CXType_DependentSizedArray CXType_MemberPointer CXType_Auto CXType_ElaboratedRepresents a type that was referred to using an elaborated type keyword.
E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
CXType_Pipe CXType_OCLImage1dRO CXType_OCLImage1dArrayRO CXType_OCLImage1dBufferRO CXType_OCLImage2dRO CXType_OCLImage2dArrayRO CXType_OCLImage2dDepthRO CXType_OCLImage2dArrayDepthRO CXType_OCLImage2dMSAARO CXType_OCLImage2dArrayMSAARO CXType_OCLImage2dMSAADepthRO CXType_OCLImage2dArrayMSAADepthRO CXType_OCLImage3dRO CXType_OCLImage1dWO CXType_OCLImage1dArrayWO CXType_OCLImage1dBufferWO CXType_OCLImage2dWO CXType_OCLImage2dArrayWO CXType_OCLImage2dDepthWO CXType_OCLImage2dArrayDepthWO CXType_OCLImage2dMSAAWO CXType_OCLImage2dArrayMSAAWO CXType_OCLImage2dMSAADepthWO CXType_OCLImage2dArrayMSAADepthWO CXType_OCLImage3dWO CXType_OCLImage1dRW CXType_OCLImage1dArrayRW CXType_OCLImage1dBufferRW CXType_OCLImage2dRW CXType_OCLImage2dArrayRW CXType_OCLImage2dDepthRW CXType_OCLImage2dArrayDepthRW CXType_OCLImage2dMSAARW CXType_OCLImage2dArrayMSAARW CXType_OCLImage2dMSAADepthRW CXType_OCLImage2dArrayMSAADepthRW CXType_OCLImage3dRW CXType_OCLSampler CXType_OCLEvent CXType_OCLQueue CXType_OCLReserveID CXType_ObjCObject CXType_ObjCTypeParam CXType_Attributed CXType_OCLIntelSubgroupAVCMcePayload CXType_OCLIntelSubgroupAVCImePayload CXType_OCLIntelSubgroupAVCRefPayload CXType_OCLIntelSubgroupAVCSicPayload CXType_OCLIntelSubgroupAVCMceResult CXType_OCLIntelSubgroupAVCImeResult CXType_OCLIntelSubgroupAVCRefResult CXType_OCLIntelSubgroupAVCSicResult CXType_OCLIntelSubgroupAVCImeResultSingleReferenceStreamout CXType_OCLIntelSubgroupAVCImeResultDualReferenceStreamout CXType_OCLIntelSubgroupAVCImeSingleReferenceStreamin CXType_OCLIntelSubgroupAVCImeDualReferenceStreamin CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout CXType_OCLIntelSubgroupAVCImeSingleRefStreamin CXType_OCLIntelSubgroupAVCImeDualRefStreamin CXType_ExtVector CXType_Atomic CXType_BTFTagAttributed CXType_HLSLResource CXType_HLSLAttributedResourceDefinition at line 2869 of file Index.h.
◆ CXTypeLayoutErrorList the possible error codes for clang_Type_getSizeOf
, clang_Type_getAlignOf
, clang_Type_getOffsetOf
, clang_Cursor_getOffsetOf
, and clang_getOffsetOfBase
.
A value of this enumeration type can be returned if the target type is not a valid argument to sizeof, alignof or offsetof.
Enumerator CXTypeLayoutError_InvalidType is of kind CXType_Invalid.
CXTypeLayoutError_IncompleteThe type is an incomplete Type.
CXTypeLayoutError_DependentThe type is a dependent Type.
CXTypeLayoutError_NotConstantSizeThe type is not a constant size type.
CXTypeLayoutError_InvalidFieldNameThe Field name is not valid for this record.
CXTypeLayoutError_UndeducedThe type is undeduced.
Definition at line 3614 of file Index.h.
◆ CXTypeNullabilityKind Enumerator CXTypeNullability_NonNullValues of this type can never be null.
CXTypeNullability_NullableValues of this type can be null.
CXTypeNullability_UnspecifiedWhether values of this type can be null is (explicitly) unspecified.
This captures a (fairly rare) case where we can't conclude anything about the nullability of the type even though it has been considered.
CXTypeNullability_InvalidNullability is not applicable to this type.
CXTypeNullability_NullableResultGenerally behaves like Nullable, except when used in a block parameter that was imported into a swift async method.
There, swift will assume that the parameter can get null even if no error occurred. _Nullable parameters are assumed to only get null on error.
Definition at line 3571 of file Index.h.
◆ clang_Cursor_getArgument()Retrieve the argument cursor of a function or method.
The argument cursor can be determined for calls as well as for declarations of functions or methods. For other cursors and for invalid indices, an invalid cursor is returned.
◆ clang_Cursor_getBinaryOpcode()Returns the operator code for the binary operator.
◆ clang_Cursor_getBinaryOpcodeStr()Returns a string containing the spelling of the binary operator.
◆ clang_Cursor_getNumArguments()Retrieve the number of non-variadic arguments associated with a given cursor.
The number of arguments can be determined for calls as well as for declarations of functions or methods. For other cursors -1 is returned.
◆ clang_Cursor_getNumTemplateArguments()Returns the number of template args of a function, struct, or class decl representing a template specialization.
If the argument cursor cannot be converted into a template function declaration, -1 is returned.
For example, for the following declaration and specialization: template <typename T, int kInt, bool kBool> void foo() { ... }
template <> void foo<float, -7, true>();
The value 3 would be returned from this call.
◆ clang_Cursor_getOffsetOfField()Return the offset of the field represented by the Cursor.
If the cursor is not a field declaration, -1 is returned. If the cursor semantic parent is not a record field declaration, CXTypeLayoutError_Invalid is returned. If the field's type declaration is an incomplete type, CXTypeLayoutError_Incomplete is returned. If the field's type declaration is a dependent type, CXTypeLayoutError_Dependent is returned. If the field's name S is not found, CXTypeLayoutError_InvalidFieldName is returned.
◆ clang_Cursor_getStorageClass()Returns the storage class for a function or variable declaration.
If the passed in Cursor is not a function or variable declaration, CX_SC_Invalid is returned else the storage class.
◆ clang_Cursor_getTemplateArgumentKind()Retrieve the kind of the I'th template argument of the CXCursor C.
If the argument CXCursor does not represent a FunctionDecl, StructDecl, or ClassTemplatePartialSpecialization, an invalid template argument kind is returned.
For example, for the following declaration and specialization: template <typename T, int kInt, bool kBool> void foo() { ... }
template <> void foo<float, -7, true>();
For I = 0, 1, and 2, Type, Integral, and Integral will be returned, respectively.
◆ clang_Cursor_getTemplateArgumentType()Retrieve a CXType representing the type of a TemplateArgument of a function decl representing a template specialization.
If the argument CXCursor does not represent a FunctionDecl, StructDecl, ClassDecl or ClassTemplatePartialSpecialization whose I'th template argument has a kind of CXTemplateArgKind_Integral, an invalid type is returned.
For example, for the following declaration and specialization: template <typename T, int kInt, bool kBool> void foo() { ... }
template <> void foo<float, -7, true>();
If called with I = 0, "float", will be returned. Invalid types will be returned for I == 1 or 2.
◆ clang_Cursor_getTemplateArgumentUnsignedValue()Retrieve the value of an Integral TemplateArgument (of a function decl representing a template specialization) as an unsigned long long.
It is undefined to call this function on a CXCursor that does not represent a FunctionDecl, StructDecl, ClassDecl or ClassTemplatePartialSpecialization or whose I'th template argument is not an integral value.
For example, for the following declaration and specialization: template <typename T, int kInt, bool kBool> void foo() { ... }
template <> void foo<float, 2147483649, true>();
If called with I = 1 or 2, 2147483649 or true will be returned, respectively. For I == 0, this function's behavior is undefined.
◆ clang_Cursor_getTemplateArgumentValue()Retrieve the value of an Integral TemplateArgument (of a function decl representing a template specialization) as a signed long long.
It is undefined to call this function on a CXCursor that does not represent a FunctionDecl, StructDecl, ClassDecl or ClassTemplatePartialSpecialization whose I'th template argument is not an integral value.
For example, for the following declaration and specialization: template <typename T, int kInt, bool kBool> void foo() { ... }
template <> void foo<float, -7, true>();
If called with I = 1 or 2, -7 or true will be returned, respectively. For I == 0, this function's behavior is undefined.
◆ clang_Cursor_isAnonymous()Determine whether the given cursor represents an anonymous tag or namespace.
◆ clang_Cursor_isAnonymousRecordDecl()Determine whether the given cursor represents an anonymous record declaration.
◆ clang_Cursor_isBitField()Returns non-zero if the cursor specifies a Record member that is a bit-field.
◆ clang_Cursor_isFunctionInlined()Determine whether a CXCursor that is a function declaration, is an inline declaration.
◆ clang_Cursor_isInlineNamespace()Determine whether the given cursor represents an inline namespace declaration.
◆ clang_Cursor_isMacroBuiltin()Determine whether a CXCursor that is a macro, is a builtin one.
◆ clang_Cursor_isMacroFunctionLike()Determine whether a CXCursor that is a macro, is function like.
◆ clang_equalTypes()Determine whether two CXTypes represent the same type.
Returns the address space of the given type.
◆ clang_getArgType()Retrieve the type of a parameter of a function type.
If a non-function type is passed in or the function does not have enough parameters, an invalid type is returned.
◆ clang_getArrayElementType()Return the element type of an array type.
If a non-array type is passed in, an invalid type is returned.
◆ clang_getArraySize()Return the array size of a constant array.
If a non-array type is passed in, -1 is returned.
◆ clang_getCanonicalType()Return the canonical type for a CXType.
Clang's type system explicitly models typedefs and all the ways a specific type can be represented. The canonical type is the underlying type with all the "sugar" removed. For example, if 'T' is a typedef for 'int', the canonical type for 'T' would be 'int'.
◆ clang_getCursorExceptionSpecificationType()Retrieve the exception specification type associated with a given cursor.
This is a value of type CXCursor_ExceptionSpecificationKind.
This only returns a valid result if the cursor refers to a function or method.
◆ clang_getCursorResultType()Retrieve the return type associated with a given cursor.
This only returns a valid type if the cursor refers to a function or method.
◆ clang_getCursorType()Retrieve the type of a CXCursor (if any).
◆ clang_getCXXAccessSpecifier()Returns the access control level for the referenced object.
If the cursor refers to a C++ declaration, its access control level within its parent scope is returned. Otherwise, if the cursor refers to a base specifier or access specifier, the specifier itself is returned.
◆ clang_getDeclObjCTypeEncoding()Returns the Objective-C type encoding for the specified declaration.
◆ clang_getElementType()Return the element type of an array, complex, or vector type.
If a type is passed in that is not an array, complex, or vector type, an invalid type is returned.
◆ clang_getEnumConstantDeclUnsignedValue()Retrieve the integer value of an enum constant declaration as an unsigned long long.
If the cursor does not reference an enum constant declaration, ULLONG_MAX is returned. Since this is also potentially a valid constant value, the kind of the cursor must be verified before calling this function.
◆ clang_getEnumConstantDeclValue()Retrieve the integer value of an enum constant declaration as a signed long long.
If the cursor does not reference an enum constant declaration, LLONG_MIN is returned. Since this is also potentially a valid constant value, the kind of the cursor must be verified before calling this function.
◆ clang_getEnumDeclIntegerType()Retrieve the integer type of an enum declaration.
If the cursor does not reference an enum declaration, an invalid type is returned.
◆ clang_getExceptionSpecificationType()Retrieve the exception specification type associated with a function type.
This is a value of type CXCursor_ExceptionSpecificationKind.
If a non-function type is passed in, an error code of -1 is returned.
◆ clang_getFieldDeclBitWidth()Retrieve the bit width of a bit-field declaration as an integer.
If the cursor does not reference a bit-field, or if the bit-field's width expression cannot be evaluated, -1 is returned.
For example:
if (Width != -1) {
}
}
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.
◆ clang_getFunctionTypeCallingConv()Retrieve the calling convention associated with a function type.
If a non-function type is passed in, CXCallingConv_Invalid is returned.
◆ clang_getNonReferenceType()For reference types (e.g., "const int&"), returns the type that the reference refers to (e.g "const int").
Otherwise, returns the type itself.
A type that has kind CXType_LValueReference
or CXType_RValueReference
is a reference type.
Retrieve the number of non-variadic parameters associated with a function type.
If a non-function type is passed in, -1 is returned.
◆ clang_getNumElements()Return the number of elements of an array or vector type.
If a type is passed in that is not an array or vector type, -1 is returned.
◆ clang_getNumOverloadedDecls()Determine the number of overloaded declarations referenced by a CXCursor_OverloadedDeclRef
cursor.
cursor
. If it is not a CXCursor_OverloadedDeclRef
cursor, returns 0.
Returns the offset in bits of a CX_CXXBaseSpecifier relative to the parent class.
Returns a small negative number if the offset cannot be computed. See CXTypeLayoutError for error codes.
◆ clang_getOverloadedDecl()Retrieve a cursor for one of the overloaded declarations referenced by a CXCursor_OverloadedDeclRef
cursor.
cursor
at the specified index
. If the cursor does not have an associated set of overloaded declarations, or if the index is out of bounds, returns clang_getNullCursor()
;
For pointer types, returns the type of the pointee.
◆ clang_getResultType()Retrieve the return type associated with a function type.
If a non-function type is passed in, an invalid type is returned.
◆ clang_getTypeDeclaration()Return the cursor for the declaration of the given type.
◆ clang_getTypedefDeclUnderlyingType()Retrieve the underlying type of a typedef declaration.
If the cursor does not reference a typedef declaration, an invalid type is returned.
◆ clang_getTypedefName()Returns the typedef name of the given type.
◆ clang_getTypeKindSpelling()Retrieve the spelling of a given CXTypeKind.
◆ clang_getTypeSpelling()Pretty-print the underlying type using the rules of the language of the translation unit from which it came.
If the type is invalid, an empty string is returned.
◆ clang_getUnqualifiedType()Retrieve the unqualified variant of the given type, removing as little sugar as possible.
For example, given the following series of typedefs:
typedef CInteger DifferenceType;
Executing clang_getUnqualifiedType()
on a CXType
that represents DifferenceType
, will desugar to a type representing Integer
, that has no qualifiers.
And, executing clang_getUnqualifiedType()
on the type of the first argument of the following function declaration:
Will return a type representing int
, removing the const
qualifier.
Sugar over array types is not desugared.
A type can be checked for qualifiers with clang_isConstQualifiedType()
, clang_isVolatileQualifiedType()
and clang_isRestrictQualifiedType()
.
A type that resulted from a call to clang_getUnqualifiedType
will return false
for all of the above calls.
Determine whether a CXType has the "const" qualifier set, without looking through typedefs that may have added "const" at a different level.
◆ clang_isFunctionTypeVariadic()Return 1 if the CXType is a variadic function type, and 0 otherwise.
◆ clang_isPODType()Return 1 if the CXType is a POD (plain old data) type, and 0 otherwise.
◆ clang_isRestrictQualifiedType()Determine whether a CXType has the "restrict" qualifier set, without looking through typedefs that may have added "restrict" at a different level.
◆ clang_isVirtualBase()Returns 1 if the base class specified by the cursor with kind CX_CXXBaseSpecifier is virtual.
◆ clang_isVolatileQualifiedType()Determine whether a CXType has the "volatile" qualifier set, without looking through typedefs that may have added "volatile" at a different level.
◆ clang_Type_getAlignOf()Return the alignment of a type in bytes as per C++[expr.alignof] standard.
If the type declaration is invalid, CXTypeLayoutError_Invalid is returned. If the type declaration is an incomplete type, CXTypeLayoutError_Incomplete is returned. If the type declaration is a dependent type, CXTypeLayoutError_Dependent is returned. If the type declaration is not a constant size type, CXTypeLayoutError_NotConstantSize is returned.
◆ clang_Type_getClassType()Return the class type of an member pointer type.
If a non-member-pointer type is passed in, an invalid type is returned.
◆ clang_Type_getCXXRefQualifier()Retrieve the ref-qualifier kind of a function or method.
The ref-qualifier is returned for C++ functions or methods. For other types or non-C++ declarations, CXRefQualifier_None is returned.
◆ clang_Type_getModifiedType()Return the type that was modified by this attributed type.
If the type is not an attributed type, an invalid type is returned.
◆ clang_Type_getNamedType()Retrieve the type named by the qualified-id.
If a non-elaborated type is passed in, an invalid type is returned.
◆ clang_Type_getNullability()Retrieve the nullability kind of a pointer type.
◆ clang_Type_getNumObjCProtocolRefs()Retrieve the number of protocol references associated with an ObjC object/id.
If the type is not an ObjC object, 0 is returned.
◆ clang_Type_getNumObjCTypeArgs()Retrieve the number of type arguments associated with an ObjC object.
If the type is not an ObjC object, 0 is returned.
◆ clang_Type_getNumTemplateArguments()Returns the number of template arguments for given template specialization, or -1 if type T
is not a template specialization.
Returns the Objective-C type encoding for the specified CXType.
◆ clang_Type_getObjCObjectBaseType()Retrieves the base type of the ObjCObjectType.
If the type is not an ObjC object, an invalid type is returned.
◆ clang_Type_getObjCProtocolDecl()Retrieve the decl for a protocol reference for an ObjC object/id.
If the type is not an ObjC object or there are not enough protocol references, an invalid cursor is returned.
◆ clang_Type_getObjCTypeArg()Retrieve a type argument associated with an ObjC object.
If the type is not an ObjC or the index is not valid, an invalid type is returned.
◆ clang_Type_getOffsetOf()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].
If the cursor is not a record field declaration, CXTypeLayoutError_Invalid is returned. If the field's type declaration is an incomplete type, CXTypeLayoutError_Incomplete is returned. If the field's type declaration is a dependent type, CXTypeLayoutError_Dependent is returned. If the field's name S is not found, CXTypeLayoutError_InvalidFieldName is returned.
◆ clang_Type_getSizeOf()Return the size of a type in bytes as per C++[expr.sizeof] standard.
If the type declaration is invalid, CXTypeLayoutError_Invalid is returned. If the type declaration is an incomplete type, CXTypeLayoutError_Incomplete is returned. If the type declaration is a dependent type, CXTypeLayoutError_Dependent is returned.
◆ clang_Type_getTemplateArgumentAsType()Returns the type template argument of a template class specialization at given index.
This function only returns template type arguments and does not handle template template arguments or variadic packs.
◆ clang_Type_getValueType()Gets the type contained by this atomic type.
If a non-atomic type is passed in, an invalid type is returned.
◆ clang_Type_isTransparentTagTypedef()Determine if a typedef is 'transparent' tag.
A typedef is considered 'transparent' if it shares a name and spelling location with its underlying tag type, as is the case with the NS_ENUM macro.
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