hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Macros | Typedefs | Functions
cc.H File Reference
#include <hobbes/lang/expr.H>
#include <hobbes/lang/type.H>
#include <hobbes/lang/tylift.H>
#include <hobbes/lang/typeinf.H>
#include <hobbes/lang/tyunqualify.H>
#include <hobbes/lang/preds/subtype/obj.H>
#include <hobbes/lang/typepreds.H>
#include <hobbes/read/parser.H>
#include <hobbes/eval/jitcc.H>
#include <hobbes/util/func.H>
#include <hobbes/util/llvm.H>
#include <hobbes/util/str.H>
#include <string>
#include <map>
#include <vector>
#include <stdexcept>
#include <iostream>
#include <unordered_map>
Include dependency graph for cc.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hobbes::PArgl< NamesAndExpr >
 
struct  hobbes::PArgl< ExprPtr >
 
struct  hobbes::PArgl< std::string >
 
struct  hobbes::PArgl< const char * >
 
struct  hobbes::PArgl< const char *, NamesAndExpr... >
 
struct  hobbes::PArgl< std::string, NamesAndExpr... >
 
class  hobbes::cc
 
struct  hobbes::rccF< T >
 
struct  hobbes::rccF< R(*)(Args...)>
 

Namespaces

 hobbes
 

Macros

#define LIFTCTY(cc, e)   (cc).liftMonoType<decltype(e)>()
 
#define memberfn(e)   &hobbes::mfnThunk< decltype(e), decltype(e), e >::fn
 

Typedefs

typedef std::map< std::string, PolyTypePtr > hobbes::TypeAliasMap
 
typedef std::map< std::string, MonoTypePtr > hobbes::MonoTypeAliasMap
 
typedef std::function< ExprPtr(const std::string &)> hobbes::ExprParser
 

Functions

template<typename T >
hobbes::compileTo (cc *c, const str::seq &vns, const std::string &expr)
 

Macro Definition Documentation

◆ LIFTCTY

#define LIFTCTY (   cc,
 
)    (cc).liftMonoType<decltype(e)>()

◆ memberfn

#define memberfn (   e)    &hobbes::mfnThunk< decltype(e), decltype(e), e >::fn