32#ifndef DRAIN_KEY_MATCHER 
   33#define DRAIN_KEY_MATCHER 
   40#include <drain/Type.h> 
   41#include <drain/RegExp.h> 
   63    const std::string regExpSpecialChars;
 
   79    StringMatcher(
const StringMatcher & matcher) : 
value(regExpString), 
isRegExp(false){
 
   92    void set(
const std::string & s);
 
   95    StringMatcher & operator=(
const std::string &s){
 
  101    StringMatcher & operator=(
const StringMatcher &s){
 
  109    bool operator==(
const std::string &s)
 const {
 
  114    bool operator==(
const char *s)
 const {
 
  119    bool operator==(
const StringMatcher &m)
 const {
 
  120        return (this->value == m.value) && (this->
isRegExp == m.isRegExp);
 
  127    bool test(
const std::string & s) 
const;
 
  129    const std::string & getType() 
const;
 
 
  148std::ostream & operator<<(std::ostream & ostr, 
const StringMatcher & m){
 
bool empty() const
Returns true, if expression is empty.
Definition RegExp.h:99
General-purpose key matcher: tests string equality, or regExp, if defined as such.
Definition StringMatcher.h:58
void set(const std::string &s)
Assign a string – which may be a literal or a regular expression.
Definition StringMatcher.cpp:46
bool isRegExp
Checks if the key conforms to ODIM convention: DBZH, VRAD, etc. (capital letters, underscores)
Definition StringMatcher.h:141
const std::string & value
A visible reference to the current string / regExp.
Definition StringMatcher.h:66
bool test(const std::string &s) const
Test with direct string matching or regExp, if defined.
Definition StringMatcher.cpp:70
Definition DataSelector.cpp:1277
DRAIN_TYPENAME(void)
Add a specialization for each type of those you want to support.