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

#include <expr.H>

Inheritance diagram for hobbes::Fn:
Inheritance graph
Collaboration diagram for hobbes::Fn:
Collaboration graph

Public Types

typedef std::vector< std::string > VarNames
 
- Public Types inherited from hobbes::ExprCase< Fn >
typedef ExprCase< FnBase
 

Public Member Functions

 Fn (const VarNames &vs, const ExprPtr &e, const LexicalAnnotation &)
 
bool operator== (const Fn &) const
 
const VarNamesvarNames () const
 
const ExprPtrbody () const
 
VarNamesvarNames ()
 
void body (const ExprPtr &)
 
Exprclone () const
 
void show (std::ostream &out) const
 
void showAnnotated (std::ostream &out) const
 
- Public Member Functions inherited from hobbes::ExprCase< Fn >
 ExprCase (const LexicalAnnotation &)
 
bool operator== (const Expr &rhs) const
 
- Public Member Functions inherited from hobbes::Expr
virtual ~Expr ()
 
const QualTypePtrtype () const
 
void type (const QualTypePtr &ty)
 
int case_id () const
 
- Public Member Functions inherited from hobbes::LexicallyAnnotated
 LexicallyAnnotated (const LexicallyAnnotated &)
 
 LexicallyAnnotated (const LexicalAnnotation &)
 
 LexicallyAnnotated (const LexRange &)
 
 LexicallyAnnotated (const Pos &, const Pos &)
 
const LexicalAnnotationla () const
 

Static Public Attributes

static const int type_case_id = 12
 

Private Attributes

VarNames vs
 
ExprPtr e
 

Additional Inherited Members

- Static Public Member Functions inherited from hobbes::LexicallyAnnotated
static void pushFileContext (const std::string &)
 
static void pushLiteralContext (const std::string &)
 
static void popContext ()
 
static LexicalAnnotation make (const Pos &, const Pos &)
 
- Protected Member Functions inherited from hobbes::Expr
 Expr (int cid, const LexicalAnnotation &)
 

Member Typedef Documentation

◆ VarNames

typedef std::vector<std::string> hobbes::Fn::VarNames

Constructor & Destructor Documentation

◆ Fn()

hobbes::Fn::Fn ( const VarNames vs,
const ExprPtr e,
const LexicalAnnotation la 
)

Member Function Documentation

◆ body() [1/2]

const ExprPtr & hobbes::Fn::body ( ) const

◆ body() [2/2]

void hobbes::Fn::body ( const ExprPtr ne)

◆ clone()

Expr * hobbes::Fn::clone ( ) const
virtual

Implements hobbes::Expr.

◆ operator==()

bool hobbes::Fn::operator== ( const Fn rhs) const
virtual

◆ show()

void hobbes::Fn::show ( std::ostream &  out) const
virtual

Implements hobbes::Expr.

◆ showAnnotated()

void hobbes::Fn::showAnnotated ( std::ostream &  out) const
virtual

Implements hobbes::Expr.

◆ varNames() [1/2]

const Fn::VarNames & hobbes::Fn::varNames ( ) const

◆ varNames() [2/2]

Fn::VarNames & hobbes::Fn::varNames ( )

Member Data Documentation

◆ e

ExprPtr hobbes::Fn::e
private

◆ type_case_id

const int hobbes::Fn::type_case_id = 12
static

◆ vs

VarNames hobbes::Fn::vs
private

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