class MatrixType
Declaration
class MatrixType : public Type, public Node { /* full declaration omitted */ };
Description
Represents a matrix type, as defined in the Matrix Types clang extensions. __attribute__((matrix_type(rows, columns))), where "rows" specifies number of rows and "columns" specifies the number of columns.
Declared at: clang/include/clang/AST/Type.h:3491
Inherits from: Type, FoldingSetBase::Node
Member Variables
- protected clang::QualType ElementType
- The element type of the matrix.
Inherited from Type:
Method Overview
- protected MatrixType(clang::QualType ElementTy, clang::QualType CanonElementTy)
- protected MatrixType(clang::Type::TypeClass TypeClass, clang::QualType ElementTy, clang::QualType CanonElementTy, const clang::Expr * RowExpr = nullptr, const clang::Expr * ColumnExpr = nullptr)
- public static bool classof(const clang::Type * T)
- public clang::QualType desugar() const
- public clang::QualType getElementType() const
- public bool isSugared() const
- public static bool isValidElementType(clang::QualType T)
Inherited from FoldingSetBase::Node:
Inherited from Type:
- public acceptsObjCTypeParams
- protected addDependence
- public canDecayToPointerType
- public canHaveNullability
- public castAs
- public castAsArrayTypeUnsafe
- public containsErrors
- public containsUnexpandedParameterPack
- public dump
- public dump
- public getArrayElementTypeNoTypeQual
- public getAs
- public getAsAdjusted
- public getAsArrayTypeUnsafe
- public getAsCXXRecordDecl
- public getAsComplexIntegerType
- public getAsObjCInterfacePointerType
- public getAsObjCInterfaceType
- public getAsObjCQualifiedClassType
- public getAsObjCQualifiedIdType
- public getAsObjCQualifiedInterfaceType
- public getAsPlaceholderType
- public getAsRecordDecl
- public getAsStructureType
- public getAsTagDecl
- public getAsUnionType
- public getBaseElementTypeUnsafe
- public getCanonicalTypeInternal
- public getCanonicalTypeUnqualified
- public getContainedAutoType
- public getContainedDeducedType
- public getDependence
- public getLinkage
- public getLinkageAndVisibility
- public getLocallyUnqualifiedSingleStepDesugaredType
- public getNullability
- public getObjCARCImplicitLifetime
- public getObjCSubstitutions
- public getPointeeCXXRecordDecl
- public getPointeeOrArrayElementType
- public getPointeeType
- public getScalarTypeKind
- public getSveEltType
- public getTypeClass
- public getTypeClassName
- public getUnqualifiedDesugaredType
- public getVisibility
- public hasAttr
- public hasAutoForTrailingReturnType
- public hasFloatingRepresentation
- public hasIntegerRepresentation
- public hasObjCPointerRepresentation
- public hasPointerRepresentation
- public hasSignedIntegerRepresentation
- public hasSizedVLAType
- public hasUnnamedOrLocalType
- public hasUnsignedIntegerRepresentation
- public isAggregateType
- public isAlignValT
- public isAnyCharacterType
- public isAnyComplexType
- public isAnyPointerType
- public isArithmeticType
- public isArrayType
- public isAtomicType
- public isBFloat16Type
- public isBitIntType
- public isBlockCompatibleObjCPointerType
- public isBlockPointerType
- public isBooleanType
- public isBuiltinType
- public isCARCBridgableType
- public isCUDADeviceBuiltinSurfaceType
- public isCUDADeviceBuiltinTextureType
- public isCanonicalUnqualified
- public isChar16Type
- public isChar32Type
- public isChar8Type
- public isCharType
- public isClassType
- public isClkEventT
- public isComplexIntegerType
- public isComplexType
- public isCompoundType
- public isConstantArrayType
- public isConstantMatrixType
- public isConstantSizeType
- public isDecltypeType
- public isDependentAddressSpaceType
- public isDependentSizedArrayType
- public isDependentType
- public isElaboratedTypeSpecifier
- public isEnumeralType
- public isEventT
- public isExtVectorBoolType
- public isExtVectorType
- public isFixedPointOrIntegerType
- public isFixedPointType
- public isFloat128Type
- public isFloat16Type
- public isFloatingType
- public isFromAST
- public isFunctionNoProtoType
- public isFunctionPointerType
- public isFunctionProtoType
- public isFunctionReferenceType
- public isFunctionType
- public isFundamentalType
- public isHalfType
- public isIbm128Type
- public isImageType
- public isIncompleteArrayType
- public isIncompleteOrObjectType
- public isIncompleteType
- public isInstantiationDependentType
- public isIntegerType
- public isIntegralOrEnumerationType
- public isIntegralOrUnscopedEnumerationType
- public isIntegralType
- public isInterfaceType
- public isLValueReferenceType
- public isLinkageValid
- public isLiteralType
- public isMatrixType
- public isMemberDataPointerType
- public isMemberFunctionPointerType
- public isMemberPointerType
- public isNonOverloadPlaceholderType
- public isNothrowT
- public isNullPtrType
- public isOCLExtOpaqueType
- public isOCLIntelSubgroupAVCType
- public isObjCARCBridgableType
- public isObjCARCImplicitlyUnretainedType
- public isObjCBoxableRecordType
- public isObjCBuiltinType
- public isObjCClassOrClassKindOfType
- public isObjCClassType
- public isObjCIdOrObjectKindOfType
- public isObjCIdType
- public isObjCIndependentClassType
- public isObjCIndirectLifetimeType
- public isObjCInertUnsafeUnretainedType
- public isObjCLifetimeType
- public isObjCNSObjectType
- public isObjCObjectOrInterfaceType
- public isObjCObjectPointerType
- public isObjCObjectType
- public isObjCQualifiedClassType
- public isObjCQualifiedIdType
- public isObjCQualifiedInterfaceType
- public isObjCRetainableType
- public isObjCSelType
- public isObjectPointerType
- public isObjectType
- public isOpenCLSpecificType
- public isOverloadableType
- public isPipeType
- public isPlaceholderType
- public isPointerType
- public isPromotableIntegerType
- public isQueueT
- public isRValueReferenceType
- public isRealFloatingType
- public isRealType
- public isRecordType
- public isReferenceType
- public isReserveIDT
- public isSamplerT
- public isSaturatedFixedPointType
- public isScalarType
- public isScopedEnumeralType
- public isSignedFixedPointType
- public isSignedIntegerOrEnumerationType
- public isSignedIntegerType
- public isSizelessBuiltinType
- public isSizelessType
- public isSpecificBuiltinType
- public isSpecificPlaceholderType
- public isSpecifierType
- public isStandardLayoutType
- public isStdByteType
- public isStructuralType
- public isStructureOrClassType
- public isStructureType
- public isTemplateTypeParmType
- public isTypedefNameType
- public isUndeducedAutoType
- public isUndeducedType
- public isUnionType
- public isUnsaturatedFixedPointType
- public isUnscopedEnumerationType
- public isUnsignedFixedPointType
- public isUnsignedIntegerOrEnumerationType
- public isUnsignedIntegerType
- public isVLSTBuiltinType
- public isVariableArrayType
- public isVariablyModifiedType
- public isVectorType
- public isVisibilityExplicit
- public isVoidPointerType
- public isVoidType
- public isWideCharType
- protected setDependence
- protected this_
Inherited from ExtQualsTypeCommonBase:
Methods
¶MatrixType(clang::QualType ElementTy,
clang::QualType CanonElementTy)
MatrixType(clang::QualType ElementTy,
clang::QualType CanonElementTy)
Declared at: clang/include/clang/AST/Type.h:3498
Parameters
- clang::QualType ElementTy
- clang::QualType CanonElementTy
¶MatrixType(
clang::Type::TypeClass TypeClass,
clang::QualType ElementTy,
clang::QualType CanonElementTy,
const clang::Expr* RowExpr = nullptr,
const clang::Expr* ColumnExpr = nullptr)
MatrixType(
clang::Type::TypeClass TypeClass,
clang::QualType ElementTy,
clang::QualType CanonElementTy,
const clang::Expr* RowExpr = nullptr,
const clang::Expr* ColumnExpr = nullptr)
Declared at: clang/include/clang/AST/Type.h:3500
Parameters
- clang::Type::TypeClass TypeClass
- clang::QualType ElementTy
- clang::QualType CanonElementTy
- const clang::Expr* RowExpr = nullptr
- const clang::Expr* ColumnExpr = nullptr
¶static bool classof(const clang::Type* T)
static bool classof(const clang::Type* T)
Declared at: clang/include/clang/AST/Type.h:3520
Parameters
- const clang::Type* T
¶clang::QualType desugar() const
clang::QualType desugar() const
Declared at: clang/include/clang/AST/Type.h:3518
¶clang::QualType getElementType() const
clang::QualType getElementType() const
Description
Returns type of the elements being stored in the matrix
Declared at: clang/include/clang/AST/Type.h:3505
¶bool isSugared() const
bool isSugared() const
Declared at: clang/include/clang/AST/Type.h:3517
¶static bool isValidElementType(clang::QualType T)
static bool isValidElementType(clang::QualType T)
Description
Valid elements types are the following: * an integer type (as in C2x 6.2.5p19), but excluding enumerated types and _Bool * the standard floating types float or double * a half-precision floating point type, if one is supported on the target
Declared at: clang/include/clang/AST/Type.h:3512