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

#include <pattern.H>

Inheritance diagram for hobbes::MatchRecord:
Inheritance graph
Collaboration diagram for hobbes::MatchRecord:
Collaboration graph

Public Types

typedef std::pair< std::string, PatternPtrField
 
typedef std::vector< FieldFields
 
- Public Types inherited from hobbes::PatternCase< MatchRecord >
typedef PatternCase< MatchRecordBase
 

Public Member Functions

 MatchRecord (const Fields &fs, const LexicalAnnotation &)
 
const Fieldpattern (size_t i) const
 
const Idxsindexes () const
 
size_t size () const
 
const Fieldsfields () const
 
void fields (const Fields &)
 
void show (std::ostream &) const
 
bool operator== (const Pattern &) const
 
- Public Member Functions inherited from hobbes::PatternCase< MatchRecord >
 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 = 4
 

Private Member Functions

void assignSubNames (const std::string &)
 

Static Private Member Functions

static void show (std::ostream &, const Field &f)
 

Private Attributes

Fields fs
 
Idxs is
 

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::Pattern
 Pattern (int cid, const LexicalAnnotation &)
 

Member Typedef Documentation

◆ Field

typedef std::pair<std::string, PatternPtr> hobbes::MatchRecord::Field

◆ Fields

typedef std::vector<Field> hobbes::MatchRecord::Fields

Constructor & Destructor Documentation

◆ MatchRecord()

hobbes::MatchRecord::MatchRecord ( const Fields fs,
const LexicalAnnotation la 
)

Member Function Documentation

◆ assignSubNames()

void hobbes::MatchRecord::assignSubNames ( const std::string &  x)
privatevirtual

Implements hobbes::Pattern.

◆ fields() [1/2]

const MatchRecord::Fields & hobbes::MatchRecord::fields ( ) const

◆ fields() [2/2]

void hobbes::MatchRecord::fields ( const Fields fs)

◆ indexes()

const Idxs & hobbes::MatchRecord::indexes ( ) const

◆ operator==()

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

Implements hobbes::Pattern.

◆ pattern()

const MatchRecord::Field & hobbes::MatchRecord::pattern ( size_t  i) const

◆ show() [1/2]

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

Implements hobbes::Pattern.

◆ show() [2/2]

void hobbes::MatchRecord::show ( std::ostream &  out,
const Field f 
)
staticprivate

◆ size()

size_t hobbes::MatchRecord::size ( ) const

Member Data Documentation

◆ fs

Fields hobbes::MatchRecord::fs
private

◆ is

Idxs hobbes::MatchRecord::is
private

◆ type_case_id

const int hobbes::MatchRecord::type_case_id = 4
static

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