hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Private Attributes | List of all members
hobbes::MonoType Class Referenceabstract

#include <type.H>

Inheritance diagram for hobbes::MonoType:
Inheritance graph
Collaboration diagram for hobbes::MonoType:
Collaboration graph

Public Types

typedef std::shared_ptr< MonoTypeptr
 
typedef std::set< std::string > TypeVarNames
 

Public Member Functions

virtual ~MonoType ()
 
virtual void show (std::ostream &) const =0
 
bool operator== (const MonoType &rhs) const
 
int case_id () const
 
template<typename Class , typename T , typename ... Args>
MonoTypePtr makeType (const Args &... args)
 

Public Attributes

TypeVarNames freeTVars
 
int tgenCount
 
unsigned int memorySize
 
ptr unaliasedType
 

Protected Member Functions

 MonoType (int cid)
 

Static Protected Member Functions

template<typename Class , typename T , typename ... Args>
static ptr makeType (const Args &... args)
 

Private Attributes

int cid
 

Member Typedef Documentation

◆ ptr

typedef std::shared_ptr<MonoType> hobbes::MonoType::ptr

◆ TypeVarNames

typedef std::set<std::string> hobbes::MonoType::TypeVarNames

Constructor & Destructor Documentation

◆ ~MonoType()

hobbes::MonoType::~MonoType ( )
virtual

◆ MonoType()

hobbes::MonoType::MonoType ( int  cid)
protected

Member Function Documentation

◆ case_id()

int hobbes::MonoType::case_id ( ) const

◆ makeType() [1/2]

template<typename Class , typename T , typename ... Args>
static ptr hobbes::MonoType::makeType ( const Args &...  args)
staticprotected

◆ makeType() [2/2]

template<typename Class , typename T , typename ... Args>
MonoTypePtr hobbes::MonoType::makeType ( const Args &...  args)

◆ operator==()

bool hobbes::MonoType::operator== ( const MonoType rhs) const

◆ show()

virtual void hobbes::MonoType::show ( std::ostream &  ) const
pure virtual

Member Data Documentation

◆ cid

int hobbes::MonoType::cid
private

◆ freeTVars

TypeVarNames hobbes::MonoType::freeTVars

◆ memorySize

unsigned int hobbes::MonoType::memorySize
mutable

◆ tgenCount

int hobbes::MonoType::tgenCount

◆ unaliasedType

ptr hobbes::MonoType::unaliasedType
mutable

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