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

#include <pattern.H>

Inheritance diagram for hobbes::MatchLiteral:
Inheritance graph
Collaboration diagram for hobbes::MatchLiteral:
Collaboration graph

Public Member Functions

 MatchLiteral (const PrimitivePtr &proxy, const LexicalAnnotation &)
 
 MatchLiteral (const PrimitivePtr &proxy, const ExprPtr &value, const LexicalAnnotation &)
 
const ExprPtrexpression () const
 
const PrimitivePtrequivConstant () const
 
void show (std::ostream &) const
 
bool operator== (const Pattern &) const
 
- Public Member Functions inherited from hobbes::PatternCase< MatchLiteral >
 PatternCase (const LexicalAnnotation &)
 
- Public Member Functions inherited from hobbes::Pattern
const std::string & name () const
 
void name (const std::string &)
 
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 = 0
 

Private Member Functions

void assignSubNames (const std::string &)
 

Private Attributes

PrimitivePtr p
 
ExprPtr e
 

Additional Inherited Members

- Public Types inherited from hobbes::PatternCase< MatchLiteral >
typedef PatternCase< MatchLiteralBase
 
- 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::Pattern
 Pattern (int cid, const LexicalAnnotation &)
 

Constructor & Destructor Documentation

◆ MatchLiteral() [1/2]

hobbes::MatchLiteral::MatchLiteral ( const PrimitivePtr proxy,
const LexicalAnnotation la 
)

◆ MatchLiteral() [2/2]

hobbes::MatchLiteral::MatchLiteral ( const PrimitivePtr proxy,
const ExprPtr value,
const LexicalAnnotation la 
)

Member Function Documentation

◆ assignSubNames()

void hobbes::MatchLiteral::assignSubNames ( const std::string &  )
privatevirtual

Implements hobbes::Pattern.

◆ equivConstant()

const PrimitivePtr & hobbes::MatchLiteral::equivConstant ( ) const

◆ expression()

const ExprPtr & hobbes::MatchLiteral::expression ( ) const

◆ operator==()

bool hobbes::MatchLiteral::operator== ( const Pattern rhs) const
virtual

Implements hobbes::Pattern.

◆ show()

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

Implements hobbes::Pattern.

Member Data Documentation

◆ e

ExprPtr hobbes::MatchLiteral::e
private

◆ p

PrimitivePtr hobbes::MatchLiteral::p
private

◆ type_case_id

const int hobbes::MatchLiteral::type_case_id = 0
static

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