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

Public Member Functions

 substVarF (const VarMapping &vm, bool *mapped)
 
ExprPtr withoutNames (const str::set &ns, const ExprPtr &e) const
 
ExprPtr withoutNames (const str::seq &ns, const ExprPtr &e) const
 
ExprPtr withoutNames (const std::string &n, const ExprPtr &e) const
 
ExprPtr withConst (const Expr *v) const
 
ExprPtr with (const Var *v) const
 
ExprPtr with (const Let *v) const
 
ExprPtr with (const LetRec *v) const
 
ExprPtr with (const Fn *v) const
 
ExprPtr with (const App *v) const
 
ExprPtr with (const Assign *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 Case *v) const
 
ExprPtr with (const Switch *v) const
 
ExprPtr with (const Proj *v) const
 
ExprPtr with (const Assump *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
 

Public Attributes

const VarMappingvm
 
bool * mapped
 

Constructor & Destructor Documentation

◆ substVarF()

hobbes::substVarF::substVarF ( const VarMapping vm,
bool *  mapped 
)
inline

Member Function Documentation

◆ with() [1/16]

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

◆ with() [2/16]

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

◆ with() [3/16]

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

◆ with() [4/16]

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

◆ with() [5/16]

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

◆ with() [6/16]

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

◆ with() [7/16]

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

◆ with() [8/16]

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

◆ with() [9/16]

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

◆ with() [10/16]

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

◆ with() [11/16]

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

◆ with() [12/16]

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

◆ with() [13/16]

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

◆ with() [14/16]

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

◆ with() [15/16]

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

◆ with() [16/16]

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

◆ withConst()

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

◆ withoutNames() [1/3]

ExprPtr hobbes::substVarF::withoutNames ( const str::set ns,
const ExprPtr e 
) const
inline

◆ withoutNames() [2/3]

ExprPtr hobbes::substVarF::withoutNames ( const str::seq ns,
const ExprPtr e 
) const
inline

◆ withoutNames() [3/3]

ExprPtr hobbes::substVarF::withoutNames ( const std::string &  n,
const ExprPtr e 
) const
inline

Member Data Documentation

◆ mapped

bool* hobbes::substVarF::mapped

◆ vm

const VarMapping& hobbes::substVarF::vm

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