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

#include <type.H>

Collaboration diagram for hobbes::Constraint:
Collaboration graph

Public Types

enum  { Unresolved, Satisfied, Unsatisfiable }
 

Public Member Functions

 Constraint (const std::string &cat, const MonoTypes &mts)
 
std::string name () const
 
const MonoTypesarguments () const
 
ConstraintPtr instantiate (const MonoTypes &ts) const
 
NameSet tvarNames () const
 
ConstraintPtr substitute (const MonoTypeSubst &s) const
 
void update (MonoTypeUnifier *)
 
void show (std::ostream &) const
 
bool operator== (const Constraint &rhs) const
 
bool hasFreeVariables () const
 

Public Attributes

enum hobbes::Constraint:: { ... }  state
 

Private Attributes

std::string cat
 
MonoTypes mts
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Unresolved 
Satisfied 
Unsatisfiable 

Constructor & Destructor Documentation

◆ Constraint()

hobbes::Constraint::Constraint ( const std::string &  cat,
const MonoTypes mts 
)

Member Function Documentation

◆ arguments()

const MonoTypes & hobbes::Constraint::arguments ( ) const

◆ hasFreeVariables()

bool hobbes::Constraint::hasFreeVariables ( ) const

◆ instantiate()

ConstraintPtr hobbes::Constraint::instantiate ( const MonoTypes ts) const

◆ name()

std::string hobbes::Constraint::name ( ) const

◆ operator==()

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

◆ show()

void hobbes::Constraint::show ( std::ostream &  out) const

◆ substitute()

ConstraintPtr hobbes::Constraint::substitute ( const MonoTypeSubst s) const

◆ tvarNames()

NameSet hobbes::Constraint::tvarNames ( ) const

◆ update()

void hobbes::Constraint::update ( MonoTypeUnifier u)

Member Data Documentation

◆ cat

std::string hobbes::Constraint::cat
private

◆ mts

MonoTypes hobbes::Constraint::mts
private

◆ state

enum { ... } hobbes::Constraint::state

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