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

#include <expr.H>

Inheritance diagram for hobbes::Expr:
Inheritance graph
Collaboration diagram for hobbes::Expr:
Collaboration graph

Public Member Functions

virtual ~Expr ()
 
virtual void show (std::ostream &) const =0
 
virtual void showAnnotated (std::ostream &) const =0
 
virtual Exprclone () const =0
 
virtual bool operator== (const Expr &) const =0
 
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
 

Protected Member Functions

 Expr (int cid, const LexicalAnnotation &)
 

Private Attributes

QualTypePtr annotatedType
 
int cid
 

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 &)
 

Constructor & Destructor Documentation

◆ ~Expr()

hobbes::Expr::~Expr ( )
virtual

◆ Expr()

hobbes::Expr::Expr ( int  cid,
const LexicalAnnotation la 
)
protected

Member Function Documentation

◆ case_id()

int hobbes::Expr::case_id ( ) const

◆ clone()

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

◆ operator==()

virtual bool hobbes::Expr::operator== ( const Expr ) const
pure virtual

◆ show()

virtual void hobbes::Expr::show ( std::ostream &  ) const
pure virtual

◆ showAnnotated()

virtual void hobbes::Expr::showAnnotated ( std::ostream &  ) const
pure virtual

◆ type() [1/2]

const QualTypePtr & hobbes::Expr::type ( ) const

◆ type() [2/2]

void hobbes::Expr::type ( const QualTypePtr ty)

Member Data Documentation

◆ annotatedType

QualTypePtr hobbes::Expr::annotatedType
private

◆ cid

int hobbes::Expr::cid
private

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