Intel® Implicit SPMD Program Compiler (Intel® ISPC)  1.13.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
[legend]
Collaboration diagram for CollectionType:
Collaboration graph
[legend]

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::Type * LLVMStorageType (llvm::LLVMContext *ctx) const
 
virtual llvm::DIType * GetDIType (llvm::DIScope *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 478 of file type.h.

Constructor & Destructor Documentation

◆ CollectionType()

CollectionType::CollectionType ( TypeId  id)
inlineprotected

Definition at line 489 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: