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

#include <pattern.H>

Inheritance diagram for hobbes::MatchRegex:
Inheritance graph
Collaboration diagram for hobbes::MatchRegex:
Collaboration graph

Public Member Functions

 MatchRegex (const RegexPtr &, const LexicalAnnotation &)
 
 MatchRegex (const std::string &, const LexicalAnnotation &)
 
std::string text () const
 
const RegexPtrvalue () const
 
void show (std::ostream &) const
 
bool operator== (const Pattern &) const
 
- Public Member Functions inherited from hobbes::PatternCase< MatchRegex >
 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 Member Functions

static PatternPtr toRegex (const MatchArray &)
 
- 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 &)
 

Static Public Attributes

static const int type_case_id = 3
 

Private Member Functions

void assignSubNames (const std::string &)
 

Private Attributes

RegexPtr regex
 

Additional Inherited Members

- Public Types inherited from hobbes::PatternCase< MatchRegex >
typedef PatternCase< MatchRegexBase
 
- Protected Member Functions inherited from hobbes::Pattern
 Pattern (int cid, const LexicalAnnotation &)
 

Constructor & Destructor Documentation

◆ MatchRegex() [1/2]

hobbes::MatchRegex::MatchRegex ( const RegexPtr regex,
const LexicalAnnotation la 
)

◆ MatchRegex() [2/2]

hobbes::MatchRegex::MatchRegex ( const std::string &  regex,
const LexicalAnnotation la 
)

Member Function Documentation

◆ assignSubNames()

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

Implements hobbes::Pattern.

◆ operator==()

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

Implements hobbes::Pattern.

◆ show()

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

Implements hobbes::Pattern.

◆ text()

std::string hobbes::MatchRegex::text ( ) const

◆ toRegex()

PatternPtr hobbes::MatchRegex::toRegex ( const MatchArray ma)
static

◆ value()

const RegexPtr & hobbes::MatchRegex::value ( ) const

Member Data Documentation

◆ regex

RegexPtr hobbes::MatchRegex::regex
private

◆ type_case_id

const int hobbes::MatchRegex::type_case_id = 3
static

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