Intel SPMD Program Compiler  1.12.0
Public Member Functions | Protected Member Functions | List of all members
CollectionType Class Referenceabstract

Abstract base class for types that represent collections of other types. More...

#include <type.h>

Inheritance diagram for CollectionType:
Inheritance graph
Collaboration diagram for CollectionType:
Collaboration graph

Public Member Functions

virtual int GetElementCount () const =0
virtual const TypeGetElementType (int index) const =0
- Public Member Functions inherited from Type
virtual bool IsBoolType () const =0
virtual bool IsFloatType () const =0
virtual bool IsIntType () const =0
virtual bool IsUnsignedType () const =0
bool IsPointerType () const
bool IsArrayType () const
bool IsReferenceType () const
bool IsVoidType () const
virtual bool IsConstType () const =0
bool IsNumericType () const
virtual Variability GetVariability () const =0
bool IsUniformType () const
bool IsVaryingType () const
bool IsSOAType () const
int GetSOAWidth () const
bool HasUnboundVariability () const
virtual const TypeResolveUnboundVariability (Variability v) const =0
virtual const TypeGetAsUniformType () const =0
virtual const TypeGetAsVaryingType () const =0
virtual const TypeGetAsUnboundVariabilityType () const =0
virtual const TypeGetAsSOAType (int width) const =0
virtual const TypeGetAsUnsignedType () const
virtual const TypeGetBaseType () const =0
virtual const TypeGetReferenceTarget () const
virtual const TypeGetAsConstType () const =0
virtual const TypeGetAsNonConstType () const =0
virtual std::string GetString () const =0
virtual std::string Mangle () const =0
virtual std::string GetCDeclaration (const std::string &name) const =0
virtual llvm::Type * LLVMType (llvm::LLVMContext *ctx) const =0
virtual llvm::DIType GetDIType (llvm::DIDescriptor scope) const =0

Protected Member Functions

 CollectionType (TypeId id)
- Protected Member Functions inherited from Type
 Type (TypeId id)

Additional Inherited Members

- Static Public Member Functions inherited from Type
static bool Equal (const Type *a, const Type *b)
static bool EqualIgnoringConst (const Type *a, const Type *b)
static const TypeMoreGeneralType (const Type *type0, const Type *type1, SourcePos pos, const char *reason, bool forceVarying=false, int vecSize=0)
static bool IsBasicType (const Type *type)
- Public Attributes inherited from Type
const TypeId typeId

Detailed Description

Abstract base class for types that represent collections of other types.

This is a common base class that StructTypes, ArrayTypes, and VectorTypes all inherit from.

Definition at line 492 of file type.h.

Constructor & Destructor Documentation

◆ CollectionType()

CollectionType::CollectionType ( TypeId  id)

Definition at line 503 of file type.h.

Member Function Documentation

◆ GetElementCount()

virtual int CollectionType::GetElementCount ( ) const
pure virtual

◆ GetElementType()

virtual const Type* CollectionType::GetElementType ( int  index) const
pure virtual

The documentation for this class was generated from the following file: