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 Member Functions | Private Attributes | List of all members
hobbes::MkRecord Class Reference

#include <expr.H>

Inheritance diagram for hobbes::MkRecord:
Inheritance graph
Collaboration diagram for hobbes::MkRecord:
Collaboration graph

Public Types

typedef std::pair< std::string, ExprPtrFieldDef
 
typedef std::vector< FieldDefFieldDefs
 
- Public Types inherited from hobbes::ExprCase< MkRecord >
typedef ExprCase< MkRecordBase
 

Public Member Functions

 MkRecord (const FieldDefs &fs, const LexicalAnnotation &)
 
bool operator== (const MkRecord &) const
 
const FieldDefsfields () const
 
FieldDefsfields ()
 
Exprclone () const
 
void show (std::ostream &out) const
 
void showAnnotated (std::ostream &out) const
 
- Public Member Functions inherited from hobbes::ExprCase< MkRecord >
 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 = 17
 

Private Member Functions

bool isTuple () const
 
void showRecord (std::ostream &out) const
 
void showRecordAnnotated (std::ostream &out) const
 
void showTuple (std::ostream &out) const
 
void showTupleAnnotated (std::ostream &out) const
 

Private Attributes

FieldDefs fs
 

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

◆ FieldDef

typedef std::pair<std::string, ExprPtr> hobbes::MkRecord::FieldDef

◆ FieldDefs

typedef std::vector<FieldDef> hobbes::MkRecord::FieldDefs

Constructor & Destructor Documentation

◆ MkRecord()

hobbes::MkRecord::MkRecord ( const FieldDefs fs,
const LexicalAnnotation la 
)

Member Function Documentation

◆ clone()

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

Implements hobbes::Expr.

◆ fields() [1/2]

const MkRecord::FieldDefs & hobbes::MkRecord::fields ( ) const

◆ fields() [2/2]

MkRecord::FieldDefs & hobbes::MkRecord::fields ( )

◆ isTuple()

bool hobbes::MkRecord::isTuple ( ) const
private

◆ operator==()

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

◆ show()

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

Implements hobbes::Expr.

◆ showAnnotated()

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

Implements hobbes::Expr.

◆ showRecord()

void hobbes::MkRecord::showRecord ( std::ostream &  out) const
private

◆ showRecordAnnotated()

void hobbes::MkRecord::showRecordAnnotated ( std::ostream &  out) const
private

◆ showTuple()

void hobbes::MkRecord::showTuple ( std::ostream &  out) const
private

◆ showTupleAnnotated()

void hobbes::MkRecord::showTupleAnnotated ( std::ostream &  out) const
private

Member Data Documentation

◆ fs

FieldDefs hobbes::MkRecord::fs
private

◆ type_case_id

const int hobbes::MkRecord::type_case_id = 17
static

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