Intel SPMD Program Compiler  1.9.1
Public Types | Public Member Functions | Public Attributes | List of all members
Variability Struct Reference

#include <type.h>

Collaboration diagram for Variability:
Collaboration graph
[legend]

Public Types

enum  VarType { Unbound, Uniform, Varying, SOA }
 

Public Member Functions

 Variability (VarType t=Unbound, int w=0)
 
bool operator== (const Variability &v) const
 
bool operator!= (const Variability &v) const
 
bool operator== (const VarType &t) const
 
bool operator!= (const VarType &t) const
 
std::string GetString () const
 
std::string MangleString () const
 

Public Attributes

VarType type
 
int soaWidth
 

Detailed Description

Types may have uniform, varying, SOA, or unbound variability; this struct is used by Type implementations to record their variability.

Definition at line 58 of file type.h.

Member Enumeration Documentation

Enumerator
Unbound 
Uniform 
Varying 
SOA 

Definition at line 59 of file type.h.

Constructor & Destructor Documentation

Variability::Variability ( VarType  t = Unbound,
int  w = 0 
)
inline

Definition at line 61 of file type.h.

Member Function Documentation

std::string Variability::GetString ( ) const
std::string Variability::MangleString ( ) const

Definition at line 146 of file type.cpp.

References FATAL, SOA, soaWidth, type, Unbound, Uniform, and Varying.

Referenced by lMangleStruct(), AtomicType::Mangle(), EnumType::Mangle(), and PointerType::Mangle().

bool Variability::operator!= ( const Variability v) const
inline

Definition at line 66 of file type.h.

References soaWidth, and type.

bool Variability::operator!= ( const VarType t) const
inline

Definition at line 71 of file type.h.

References type.

bool Variability::operator== ( const Variability v) const
inline

Definition at line 63 of file type.h.

References soaWidth, and type.

bool Variability::operator== ( const VarType t) const
inline

Definition at line 70 of file type.h.

References type.

Member Data Documentation

int Variability::soaWidth
VarType Variability::type

The documentation for this struct was generated from the following files: