searchPattern.hh 700 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include <string>
  3. class JSonElement;
  4. class SearchPattern
  5. {
  6. public:
  7. SearchPattern(const char *);
  8. ~SearchPattern();
  9. bool isEmpty() const;
  10. bool match(const std::string &other, const JSonElement *) const;
  11. /**
  12. * Comparison function, for std::search use
  13. **/
  14. bool operator()(char a, char b);
  15. private:
  16. void evalFlags(const char *);
  17. std::string pattern;
  18. short flags;
  19. short typeFlag;
  20. static const short FLAG_CASE;
  21. static const short TYPE_BOOL;
  22. static const short TYPE_NUMBER;
  23. static const short TYPE_STRING;
  24. static const short TYPE_OBJKEY;
  25. };