hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Types | Public Member Functions | List of all members
hobbes::PrimitiveCase< Case > Class Template Referenceabstract

#include <expr.H>

Inheritance diagram for hobbes::PrimitiveCase< Case >:
Inheritance graph
Collaboration diagram for hobbes::PrimitiveCase< Case >:
Collaboration graph

Public Types

typedef PrimitiveCase< CaseBase
 

Public Member Functions

 PrimitiveCase (const LexicalAnnotation &)
 
virtual bool equiv (const Case &) const =0
 
virtual bool lt (const Case &) const =0
 
bool operator< (const Primitive &rhs) const
 
bool operator== (const Expr &rhs) const
 
- Public Member Functions inherited from hobbes::Primitive
virtual MonoTypePtr primType () const =0
 
 Primitive (int cid, const LexicalAnnotation &)
 
- Public Member Functions inherited from hobbes::Expr
virtual ~Expr ()
 
virtual void show (std::ostream &) const =0
 
virtual void showAnnotated (std::ostream &) const =0
 
virtual Exprclone () 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
 

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

◆ Base

template<typename Case>
typedef PrimitiveCase<Case> hobbes::PrimitiveCase< Case >::Base

Constructor & Destructor Documentation

◆ PrimitiveCase()

template<typename Case >
hobbes::PrimitiveCase< Case >::PrimitiveCase ( const LexicalAnnotation la)

Member Function Documentation

◆ equiv()

template<typename Case>
virtual bool hobbes::PrimitiveCase< Case >::equiv ( const Case ) const
pure virtual

◆ lt()

template<typename Case>
virtual bool hobbes::PrimitiveCase< Case >::lt ( const Case ) const
pure virtual

◆ operator<()

template<typename Case>
bool hobbes::PrimitiveCase< Case >::operator< ( const Primitive rhs) const
inlinevirtual

Implements hobbes::Primitive.

◆ operator==()

template<typename Case>
bool hobbes::PrimitiveCase< Case >::operator== ( const Expr rhs) const
inlinevirtual

Implements hobbes::Primitive.


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