hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Typedefs | Functions
class.H File Reference
#include <hobbes/lang/tyunqualify.H>
#include <hobbes/lang/expr.H>
#include <hobbes/lang/typemap.H>
#include <memory>
Include dependency graph for class.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  hobbes::TClass
 
class  hobbes::TCInstance
 
class  hobbes::TCInstanceFn
 

Namespaces

 hobbes
 

Typedefs

typedef std::map< std::string, ExprPtr > hobbes::MemberMapping
 
typedef std::shared_ptr< TCInstance > hobbes::TCInstancePtr
 
typedef std::vector< TCInstancePtr > hobbes::TCInstances
 
typedef std::shared_ptr< TCInstanceFn > hobbes::TCInstanceFnPtr
 
typedef std::vector< TCInstanceFnPtr > hobbes::TCInstanceFns
 
typedef std::shared_ptr< TClass > hobbes::TClassPtr
 
typedef std::map< std::string, TClassPtr > hobbes::TClassEnv
 

Functions

FunDeps hobbes::inferFundeps (const TEnvPtr &tenv, const Constraints &cs)
 
FunDeps hobbes::mergeFundeps (const FunDeps &lhs, const FunDeps &rhs)
 
bool hobbes::isClassSatisfied (const TEnvPtr &, const std::string &, const MonoTypes &, Definitions *)
 
bool hobbes::isClassSatisfiable (const TEnvPtr &, const std::string &, const MonoTypes &, Definitions *)
 
ExprPtr hobbes::unqualifyClass (const TEnvPtr &, const std::string &, const MonoTypes &, const ExprPtr &, Definitions *)
 
void hobbes::definePrivateClass (const TEnvPtr &tenv, const std::string &memberName, const ExprPtr &expr)
 
bool hobbes::isClassMember (const TEnvPtr &tenv, const std::string &memberName)
 
Constraints hobbes::expandHiddenTCs (const TEnvPtr &, const Constraints &)
 
void hobbes::serializeGroundClasses (const TEnvPtr &, std::ostream &)
 
void hobbes::deserializeGroundClasses (const TEnvPtr &, std::istream &, Definitions *)
 
std::string hobbes::show (const TClassPtr &)
 
std::string hobbes::show (const TCInstancePtr &)
 
std::string hobbes::show (const TCInstanceFnPtr &)