gem5  v20.1.0.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ObjectMatch Class Reference

ObjectMatch contains a vector of expressions. More...

#include <match.hh>

Public Member Functions

 ObjectMatch ()
 
 ObjectMatch (const std::string &expression)
 
void add (const ObjectMatch &other)
 
void setExpression (const std::string &expression)
 
void setExpression (const std::vector< std::string > &expression)
 
std::vector< std::vector< std::string > > getExpressions ()
 
bool match (const std::string &name) const
 

Protected Member Functions

bool domatch (const std::string &name) const
 

Protected Attributes

std::vector< std::vector< std::string > > tokens
 

Detailed Description

ObjectMatch contains a vector of expressions.

ObjectMatch can then be queried, via ObjectMatch.match(std::string), to check if a string matches any expressions in the vector.

Expressions in ObjectMatch take the form "<token1>.<token2>.<token3>"; a series of expected tokens separated by a period. The input string takes the form "<value1>.<value2>.<value3>". In this case, the input string matches the expression if <value1> == <token1> && <token2> == <value2> && <value3> == <token3>. A token may be a wildcard character, "*", which will match to any value in that position (inclusive of no value at that location).

Definition at line 53 of file match.hh.

Constructor & Destructor Documentation

◆ ObjectMatch() [1/2]

ObjectMatch::ObjectMatch ( )

Definition at line 36 of file match.cc.

◆ ObjectMatch() [2/2]

ObjectMatch::ObjectMatch ( const std::string &  expression)

Member Function Documentation

◆ add()

void ObjectMatch::add ( const ObjectMatch other)

Definition at line 46 of file match.cc.

References tokens.

Referenced by Trace::Logger::addIgnore(), and TEST().

◆ domatch()

bool ObjectMatch::domatch ( const std::string &  name) const
protected
Todo:
this should probably be changed to just use regular expression code

Definition at line 75 of file match.cc.

References ArmISA::i, ArmISA::j, name(), and tokenize().

Referenced by match().

◆ getExpressions()

std::vector< std::vector< std::string > > ObjectMatch::getExpressions ( )

Definition at line 106 of file match.cc.

Referenced by TEST().

◆ match()

bool ObjectMatch::match ( const std::string &  name) const
inline

◆ setExpression() [1/2]

void ObjectMatch::setExpression ( const std::string &  expression)

Referenced by TEST().

◆ setExpression() [2/2]

void ObjectMatch::setExpression ( const std::vector< std::string > &  expression)

Member Data Documentation

◆ tokens

std::vector<std::vector<std::string> > ObjectMatch::tokens
protected

Definition at line 56 of file match.hh.

Referenced by add(), and match().


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

Generated on Wed Sep 30 2020 14:02:28 for gem5 by doxygen 1.8.17