hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Static Public Member Functions | List of all members
hobbes::macroExpandF Struct Reference
Inheritance diagram for hobbes::macroExpandF:
Inheritance graph
Collaboration diagram for hobbes::macroExpandF:
Collaboration graph

Public Member Functions

ExprPtr withConst (const Expr *v) const
 
ExprPtr with (const Fn *v) const
 
ExprPtr with (const MkArray *v) const
 
ExprPtr with (const MkVariant *v) const
 
ExprPtr with (const MkRecord *v) const
 
ExprPtr with (const AIndex *v) const
 
ExprPtr with (const Proj *v) const
 
ExprPtr with (const Assump *v) const
 
ExprPtr with (const Case *v) const
 
ExprPtr with (const Switch *v) const
 
ExprPtr with (const Var *v) const
 
ExprPtr with (const Let *v) const
 
ExprPtr with (const LetRec *v) const
 
ExprPtr with (const App *v) const
 
ExprPtr with (const Assign *v) const
 
ExprPtr with (const Pack *v) const
 
ExprPtr with (const Unpack *v) const
 
- Public Member Functions inherited from hobbes::switchExprC< ExprPtr >
ExprPtr with (const Unit *v) const
 
ExprPtr with (const Bool *v) const
 
ExprPtr with (const Char *v) const
 
ExprPtr with (const Byte *v) const
 
ExprPtr with (const Short *v) const
 
ExprPtr with (const Int *v) const
 
ExprPtr with (const Long *v) const
 
ExprPtr with (const Float *v) const
 
ExprPtr with (const Double *v) const
 

Static Public Member Functions

static ExprPtr mk (const QualTypePtr &qty, Expr *out)
 
static ExprPtr mk (const MonoTypePtr &mty, Expr *out)
 
static ExprPtr mk (const Expr *src, Expr *out)
 
static ExprPtr macroExpandAnd (const Exprs &es, const LexicalAnnotation &la)
 
static ExprPtr macroEtaLiftAnd (const LexicalAnnotation &la)
 
static ExprPtr macroExpandOr (const Exprs &es, const LexicalAnnotation &la)
 
static ExprPtr macroEtaLiftOr (const LexicalAnnotation &la)
 

Member Function Documentation

◆ macroEtaLiftAnd()

static ExprPtr hobbes::macroExpandF::macroEtaLiftAnd ( const LexicalAnnotation la)
inlinestatic

◆ macroEtaLiftOr()

static ExprPtr hobbes::macroExpandF::macroEtaLiftOr ( const LexicalAnnotation la)
inlinestatic

◆ macroExpandAnd()

static ExprPtr hobbes::macroExpandF::macroExpandAnd ( const Exprs es,
const LexicalAnnotation la 
)
inlinestatic

◆ macroExpandOr()

static ExprPtr hobbes::macroExpandF::macroExpandOr ( const Exprs es,
const LexicalAnnotation la 
)
inlinestatic

◆ mk() [1/3]

static ExprPtr hobbes::macroExpandF::mk ( const QualTypePtr qty,
Expr out 
)
inlinestatic

◆ mk() [2/3]

static ExprPtr hobbes::macroExpandF::mk ( const MonoTypePtr mty,
Expr out 
)
inlinestatic

◆ mk() [3/3]

static ExprPtr hobbes::macroExpandF::mk ( const Expr src,
Expr out 
)
inlinestatic

◆ with() [1/16]

ExprPtr hobbes::macroExpandF::with ( const Fn v) const
inlinevirtual

◆ with() [2/16]

ExprPtr hobbes::macroExpandF::with ( const MkArray v) const
inlinevirtual

◆ with() [3/16]

ExprPtr hobbes::macroExpandF::with ( const MkVariant v) const
inlinevirtual

◆ with() [4/16]

ExprPtr hobbes::macroExpandF::with ( const MkRecord v) const
inlinevirtual

◆ with() [5/16]

ExprPtr hobbes::macroExpandF::with ( const AIndex v) const
inlinevirtual

◆ with() [6/16]

ExprPtr hobbes::macroExpandF::with ( const Proj v) const
inlinevirtual

◆ with() [7/16]

ExprPtr hobbes::macroExpandF::with ( const Assump v) const
inlinevirtual

◆ with() [8/16]

ExprPtr hobbes::macroExpandF::with ( const Case v) const
inlinevirtual

◆ with() [9/16]

ExprPtr hobbes::macroExpandF::with ( const Switch v) const
inlinevirtual

◆ with() [10/16]

ExprPtr hobbes::macroExpandF::with ( const Var v) const
inlinevirtual

◆ with() [11/16]

ExprPtr hobbes::macroExpandF::with ( const Let v) const
inlinevirtual

◆ with() [12/16]

ExprPtr hobbes::macroExpandF::with ( const LetRec v) const
inlinevirtual

◆ with() [13/16]

ExprPtr hobbes::macroExpandF::with ( const App v) const
inlinevirtual

◆ with() [14/16]

ExprPtr hobbes::macroExpandF::with ( const Assign v) const
inlinevirtual

◆ with() [15/16]

ExprPtr hobbes::macroExpandF::with ( const Pack v) const
inlinevirtual

◆ with() [16/16]

ExprPtr hobbes::macroExpandF::with ( const Unpack v) const
inlinevirtual

◆ withConst()

ExprPtr hobbes::macroExpandF::withConst ( const Expr v) const
inlinevirtual

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