clang 20.0.0git
|
Represents a C++11 auto or C++14 decltype(auto) type, possibly constrained by a type-constraint. More...
#include "clang/AST/Type.h"
Public Member Functions | |
ArrayRef< TemplateArgument > | getTypeConstraintArguments () const |
ConceptDecl * | getTypeConstraintConcept () const |
bool | isConstrained () const |
bool | isDecltypeAuto () const |
bool | isGNUAutoType () const |
AutoTypeKeyword | getKeyword () const |
void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context) |
![]() | |
bool | isSugared () const |
QualType | desugar () const |
QualType | getDeducedType () const |
Get the type deduced for this placeholder type, or null if it has not been deduced. | |
bool | isDeduced () const |
![]() | |
Type (const Type &)=delete | |
Type (Type &&)=delete | |
Type & | operator= (const Type &)=delete |
Type & | operator= (Type &&)=delete |
TypeClass | getTypeClass () const |
bool | isFromAST () const |
Whether this type comes from an AST file. | |
bool | containsUnexpandedParameterPack () const |
Whether this type is or contains an unexpanded parameter pack, used to support C++0x variadic templates. | |
bool | isCanonicalUnqualified () const |
Determines if this type would be canonical if it had no further qualification. | |
QualType | getLocallyUnqualifiedSingleStepDesugaredType () const |
Pull a single level of sugar off of this locally-unqualified type. | |
bool | isSizelessType () const |
As an extension, we classify types as one of "sized" or "sizeless"; every type is one or the other. | |
bool | isSizelessBuiltinType () const |
bool | isSizelessVectorType () const |
Returns true for all scalable vector types. | |
bool | isSVESizelessBuiltinType () const |
Returns true for SVE scalable vector types. | |
bool | isRVVSizelessBuiltinType () const |
Returns true for RVV scalable vector types. | |
bool | isWebAssemblyExternrefType () const |
Check if this is a WebAssembly Externref Type. | |
bool | isWebAssemblyTableType () const |
Returns true if this is a WebAssembly table type: either an array of reference types, or a pointer to a reference type (which can only be created by array to pointer decay). | |
bool | isSveVLSBuiltinType () const |
Determines if this is a sizeless type supported by the 'arm_sve_vector_bits' type attribute, which can be applied to a single SVE vector or predicate, excluding tuple types such as svint32x4_t. | |
QualType | getSveEltType (const ASTContext &Ctx) const |
Returns the representative type for the element of an SVE builtin type. | |
bool | isRVVVLSBuiltinType () const |
Determines if this is a sizeless type supported by the 'riscv_rvv_vector_bits' type attribute, which can be applied to a single RVV vector or mask. | |
QualType | getRVVEltType (const ASTContext &Ctx) const |
Returns the representative type for the element of an RVV builtin type. | |
QualType | getSizelessVectorEltType (const ASTContext &Ctx) const |
Returns the representative type for the element of a sizeless vector builtin type. | |
bool | isIncompleteType (NamedDecl **Def=nullptr) const |
Types are partitioned into 3 broad categories (C99 6.2.5p1): object types, function types, and incomplete types. | |
bool | isIncompleteOrObjectType () const |
Return true if this is an incomplete or object type, in other words, not a function type. | |
bool | isObjectType () const |
Determine whether this type is an object type. | |
bool | isLiteralType (const ASTContext &Ctx) const |
Return true if this is a literal type (C++11 [basic.types]p10) | |
bool | isStructuralType () const |
Determine if this type is a structural type, per C++20 [temp.param]p7. | |
bool | isStandardLayoutType () const |
Test if this type is a standard-layout type. | |
bool | isBuiltinType () const |
Helper methods to distinguish type categories. | |
bool | isSpecificBuiltinType (unsigned K) const |
Test for a particular builtin type. | |
bool | isPlaceholderType () const |
Test for a type which does not represent an actual type-system type but is instead used as a placeholder for various convenient purposes within Clang. | |
const BuiltinType * | getAsPlaceholderType () const |
bool | isSpecificPlaceholderType (unsigned K) const |
Test for a specific placeholder type. | |
bool | isNonOverloadPlaceholderType () const |
Test for a placeholder type other than Overload; see BuiltinType::isNonOverloadPlaceholderType. | |
bool | isIntegerType () const |
isIntegerType() does not include complex integers (a GCC extension). | |
bool | isEnumeralType () const |
bool | isScopedEnumeralType () const |
Determine whether this type is a scoped enumeration type. | |
bool | isBooleanType () const |
bool | isCharType () const |
bool | isWideCharType () const |
bool | isChar8Type () const |
bool | isChar16Type () const |
bool | isChar32Type () const |
bool | isAnyCharacterType () const |
Determine whether this type is any of the built-in character types. | |
bool | isIntegralType (const ASTContext &Ctx) const |
Determine whether this type is an integral type. | |
bool | isIntegralOrEnumerationType () const |
Determine whether this type is an integral or enumeration type. | |
bool | isIntegralOrUnscopedEnumerationType () const |
Determine whether this type is an integral or unscoped enumeration type. | |
bool | isUnscopedEnumerationType () const |
bool | isRealFloatingType () const |
Floating point categories. | |
bool | isComplexType () const |
isComplexType() does not include complex integers (a GCC extension). | |
bool | isAnyComplexType () const |
bool | isFloatingType () const |
bool | isHalfType () const |
bool | isFloat16Type () const |
bool | isFloat32Type () const |
bool | isDoubleType () const |
bool | isBFloat16Type () const |
bool | isFloat128Type () const |
bool | isIbm128Type () const |
bool | isRealType () const |
bool | isArithmeticType () const |
bool | isVoidType () const |
bool | isScalarType () const |
bool | isAggregateType () const |
Determines whether the type is a C++ aggregate type or C aggregate or union type. | |
bool | isFundamentalType () const |
Tests whether the type is categorized as a fundamental type. | |
bool | isCompoundType () const |
Tests whether the type is categorized as a compound type. | |
bool | isFunctionType () const |
bool | isFunctionNoProtoType () const |
bool | isFunctionProtoType () const |
bool | isPointerType () const |
bool | isPointerOrReferenceType () const |
bool | isSignableType () const |
bool | isAnyPointerType () const |
bool | isCountAttributedType () const |
bool | isBlockPointerType () const |
bool | isVoidPointerType () const |
bool | isReferenceType () const |
bool | isLValueReferenceType () const |
bool | isRValueReferenceType () const |
bool | isObjectPointerType () const |
bool | isFunctionPointerType () const |
bool | isFunctionReferenceType () const |
bool | isMemberPointerType () const |
bool | isMemberFunctionPointerType () const |
bool | isMemberDataPointerType () const |
bool | isArrayType () const |
bool | isConstantArrayType () const |
bool | isIncompleteArrayType () const |
bool | isVariableArrayType () const |
bool | isArrayParameterType () const |
bool | isDependentSizedArrayType () const |
bool | isRecordType () const |
bool | isClassType () const |
bool | isStructureType () const |
bool | isStructureTypeWithFlexibleArrayMember () const |
bool | isObjCBoxableRecordType () const |
bool | isInterfaceType () const |
bool | isStructureOrClassType () const |
bool | isUnionType () const |
bool | isComplexIntegerType () const |
bool | isVectorType () const |
bool | isExtVectorType () const |
bool | isExtVectorBoolType () const |
bool | isSubscriptableVectorType () const |
bool | isMatrixType () const |
bool | isConstantMatrixType () const |
bool | isDependentAddressSpaceType () const |
bool | isObjCObjectPointerType () const |
bool | isObjCRetainableType () const |
bool | isObjCLifetimeType () const |
Returns true if objects of this type have lifetime semantics under ARC. | |
bool | isObjCIndirectLifetimeType () const |
bool | isObjCNSObjectType () const |
bool | isObjCIndependentClassType () const |
bool | isObjCObjectType () const |
bool | isObjCQualifiedInterfaceType () const |
bool | isObjCQualifiedIdType () const |
bool | isObjCQualifiedClassType () const |
bool | isObjCObjectOrInterfaceType () const |
bool | isObjCIdType () const |
bool | isDecltypeType () const |
bool | isObjCInertUnsafeUnretainedType () const |
Was this type written with the special inert-in-ARC __unsafe_unretained qualifier? | |
bool | isObjCIdOrObjectKindOfType (const ASTContext &ctx, const ObjCObjectType *&bound) const |
Whether the type is Objective-C 'id' or a __kindof type of an object type, e.g., __kindof NSView * or __kindof id <NSCopying>. | |
bool | isObjCClassType () const |
bool | isObjCClassOrClassKindOfType () const |
Whether the type is Objective-C 'Class' or a __kindof type of an Class type, e.g., __kindof Class <NSCopying>. | |
bool | isBlockCompatibleObjCPointerType (ASTContext &ctx) const |
bool | isObjCSelType () const |
bool | isObjCBuiltinType () const |
bool | isObjCARCBridgableType () const |
Determine whether the given type T is a "bridgable" Objective-C type, which is either an Objective-C object pointer type or an. | |
bool | isCARCBridgableType () const |
Determine whether the given type T is a "bridgeable" C type. | |
bool | isTemplateTypeParmType () const |
bool | isNullPtrType () const |
bool | isNothrowT () const |
bool | isAlignValT () const |
bool | isStdByteType () const |
bool | isAtomicType () const |
bool | isUndeducedAutoType () const |
bool | isTypedefNameType () const |
Determines whether this type is written as a typedef-name. | |
bool | isImageType () const |
bool | isSamplerT () const |
bool | isEventT () const |
bool | isClkEventT () const |
bool | isQueueT () const |
bool | isReserveIDT () const |
bool | isOCLIntelSubgroupAVCType () const |
bool | isOCLExtOpaqueType () const |
bool | isPipeType () const |
bool | isBitIntType () const |
bool | isOpenCLSpecificType () const |
bool | isHLSLSpecificType () const |
bool | isHLSLBuiltinIntangibleType () const |
bool | isHLSLAttributedResourceType () const |
bool | isHLSLIntangibleType () const |
bool |