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:

protected

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:

Inherited from ExtQualsTypeCommonBase:

    Methods

    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)

    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)

    Declared at: clang/include/clang/AST/Type.h:3520

    Parameters

    const clang::Type* T

    clang::QualType desugar() const

    Declared at: clang/include/clang/AST/Type.h:3518

    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

    Declared at: clang/include/clang/AST/Type.h:3517

    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

    Parameters

    clang::QualType T