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

#include <expr.H>

Inheritance diagram for hobbes::Unpack:
Inheritance graph
Collaboration diagram for hobbes::Unpack:
Collaboration graph

Public Member Functions

 Unpack (const std::string &, const ExprPtr &, const ExprPtr &, const LexicalAnnotation &)
 
bool operator== (const Unpack &) const
 
const std::string & varName () const
 
const ExprPtrpackage () const
 
const ExprPtrexpr () const
 
void varName (const std::string &)
 
void package (const ExprPtr &)
 
void expr (const ExprPtr &)
 
Exprclone () const
 
void show (std::ostream &out) const
 
void showAnnotated (std::ostream &out) const
 
- Public Member Functions inherited from hobbes::ExprCase< Unpack >
 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 = 24
 

Private Attributes

std::string vn
 
ExprPtr pkg
 
ExprPtr body
 

Additional Inherited Members

- Public Types inherited from hobbes::ExprCase< Unpack >
typedef ExprCase< UnpackBase
 
- 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 &)
 

Constructor & Destructor Documentation

◆ Unpack()

hobbes::Unpack::Unpack ( const std::string &  vn,
const ExprPtr pkg,
const ExprPtr body,
const LexicalAnnotation la 
)

Member Function Documentation

◆ clone()

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

Implements hobbes::Expr.

◆ expr() [1/2]

const ExprPtr & hobbes::Unpack::expr ( ) const

◆ expr() [2/2]

void hobbes::Unpack::expr ( const ExprPtr nbody)

◆ operator==()

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

◆ package() [1/2]

const ExprPtr & hobbes::Unpack::package ( ) const

◆ package() [2/2]

void hobbes::Unpack::package ( const ExprPtr npkg)

◆ show()

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

Implements hobbes::Expr.

◆ showAnnotated()

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

Implements hobbes::Expr.

◆ varName() [1/2]

const std::string & hobbes::Unpack::varName ( ) const

◆ varName() [2/2]

void hobbes::Unpack::varName ( const std::string &  nvn)

Member Data Documentation

◆ body

ExprPtr hobbes::Unpack::body
private

◆ pkg

ExprPtr hobbes::Unpack::pkg
private

◆ type_case_id

const int hobbes::Unpack::type_case_id = 24
static

◆ vn

std::string hobbes::Unpack::vn
private

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